【发布时间】:2011-07-04 19:48:35
【问题描述】:
我有一个包含两个时间戳字段的表。我只是用名称和类型TIMESTAMP 定义了它们,但由于某种原因,MySQL 自动为其中一个设置了默认值和属性on update CURRENT_TIMESTAMP。我计划在这两个字段中都没有默认值,但是其中一个字段称为“date_updated”,所以我想我可以将提到的属性设置为该字段。
不幸的是,这是用on update CURRENT_TIMESTAMP属性设置的字段“date_created”,无论我做什么,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
我真的必须以正确的顺序重新创建这两个列来解决这个问题吗?
我想知道如何正确解决这个问题,以供将来参考。
谢谢
现在我也试着跑了
ALTER TABLE pages
CHANGE date_created
date_created TIMESTAMP NOT NULL
【问题讨论】:
标签: mysql phpmyadmin mysql-error-1293