我有一个带有 type 列的表timestamp
默认值current_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的DEFAULT,MySQL将不再自动更新该列。来自MySQL手册 http://dev.mysql.com/doc/refman/5.0/en/timestamp.html:
如果使用 DEFAULT CURRENT_TIMESTAMP 子句且没有 ON UPDATE 子句,则该列的默认值具有当前时间戳,但不会自动更新。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)