我要把mysql表字段的DEFAULT CURRENT_TIMESTAMP 改回默认 null
时间: 2023-08-02 08:31:45 浏览: 135
如果您想将 MySQL 表中的时间字段的默认值从 `CURRENT_TIMESTAMP` 改回 `NULL`,可以使用以下 SQL 语句:
```
ALTER TABLE table_name MODIFY COLUMN column_name TIMESTAMP NULL DEFAULT NULL;
```
其中,`table_name` 是您要修改的表名,`column_name` 是您要修改的时间字段名。执行此语句后,该字段的默认值将被设置为 `NULL`。
相关问题
那低版本的MySQL怎么定义DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
在低版本的MySQL中,可以使用Triggers来达到类似的效果。具体实现方法如下:
首先,在表中创建两个字段,一个用于存储创建时间,一个用于存储更新时间。例如:
```
CREATE TABLE example (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP DEFAULT '0000-00-00 00:00:00'
)
```
然后,创建两个Trigger,一个用于在插入数据时自动设置创建时间,一个用于在更新数据时自动更新更新时间。例如:
```
CREATE TRIGGER example_insert_trigger
BEFORE INSERT ON example
FOR EACH ROW
SET NEW.create_time = CURRENT_TIMESTAMP;
CREATE TRIGGER example_update_trigger
BEFORE UPDATE ON example
FOR EACH ROW
SET NEW.update_time = CURRENT_TIMESTAMP;
```
这样,每当插入一条新数据时,create_time字段会自动设置为当前时间戳;每当更新一条数据时,update_time字段会自动更新为当前时间戳。
mysql 修改时间字段为 DEFAULT CURRENT_TIMESTAMP
如果您想将已经存在的 MySQL 表中的时间字段修改为 `DEFAULT CURRENT_TIMESTAMP`,可以使用以下的 SQL 语句:
```
ALTER TABLE table_name MODIFY COLUMN column_name TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
```
其中,`table_name` 是您要修改的表名,`column_name` 是您要修改的时间字段名。执行此语句后,该字段的默认值将被设置为当前时间。如果您需要将字段的默认值设置为 NULL,请使用以下语句:
```
ALTER TABLE table_name MODIFY COLUMN column_name TIMESTAMP NULL DEFAULT NULL;
```
同样地,`table_name` 和 `column_name` 均需要替换为您要修改的表名和字段名。
阅读全文