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