我有一个表,其列类型为timestamp
,默认值为current_timestamp
,每次更新时更新为current_timestamp
.
我想删除本专栏的"更新"功能.如何编写alter语句?
我try 了以下方法:
ALTER TABLE mytable alter column time set DEFAULT now();
但这不管用.
我有一个表,其列类型为timestamp
,默认值为current_timestamp
,每次更新时更新为current_timestamp
.
我想删除本专栏的"更新"功能.如何编写alter语句?
我try 了以下方法:
ALTER TABLE mytable alter column time set DEFAULT now();
但这不管用.
皮特几乎是对的,但对"改变"使用了错误的语法:
ALTER TABLE mytable CHANGE `time` `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
请注意,必须重复列名.此外,请确保使用反勾号而不是单引号来转义列名time,这会防止它被解释为mysql列类型的time.
通过指定当前时间戳的默认值,MySQL将不再自动更新列.从MySQL Manual人中:
使用默认的CURRENT_TIMESTAMP子句和no ON UPDATE子句,列的默认值具有当前时间戳,但不会自动更新.