我有一个包含两个时间戳字段的表。我只是用名称和类型定义了它们TIMESTAMP
,但由于某种原因 MySQL 自动设置其中一个默认值和属性on update CURRENT_TIMESTAMP
。我计划在这两个字段中都没有默认值,但其中一个字段称为“date_updated”,所以我想我可以将提到的属性设置为该字段。
不幸的是,它是用设置的字段“date_created”on update CURRENT_TIMESTAMP
属性,无论我做什么,MySQL 都不会让我删除它。
我尝试编辑“date_created”字段并删除该属性。单击“保存”后,该属性又回来了。我还尝试选择这两个字段,从其中一个字段中删除属性并将其设置在另一个字段上。它给了我错误#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
突然,值上的两个属性列都设置为on update CURRENT_TIMESTAMP
结果:
Error
SQL query:
ALTER TABLE `pages` CHANGE `date_created` `date_created` TIMESTAMP NOT NULL ,
CHANGE `date_updated` `date_updated` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL
MySQL said:
#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
我真的必须以正确的顺序重新创建这两列才能解决此问题吗?
我想知道如何正确解决这个问题,以供将来参考。
Thanks
现在我也尝试过跑步
ALTER TABLE pages
CHANGE date_created
date_created TIMESTAMP NOT NULL
您应该指定DEFAULT CURRENT_TIMESTAMP
(or DEFAULT 0
)
ALTER TABLE pages CHANGE date_created date_created TIMESTAMP NOT NULL DEFAULT 0,
CHANGE `date_updated` `date_updated` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)