所以我尝试对我的表执行一个 ALTER TABLE 命令,以添加一个日期列来存储发布的时间。每当我输入 SQL 代码时,它都会在 PhpMyAdmin 中弹出此错误。我是初学者,如果有人可以帮助我,我真的很想。
原码:
ALTER TABLE posts
ADD date datetime not null;
弹出的错误: #1292 - 不正确的日期值:“网站”列的“0000-00-00”。 “帖子”。第 1 行的“日期”
【问题讨论】:
【参考方案1】:给一个默认值
ALTER TABLE posts ADD `date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
或者如果不需要默认值,添加允许NULL
的列,使用适当的值更新,然后将列更改为NOT NULL
ALTER TABLE posts ADD `date` datetime
;
UPDATE posts
SET `date` = NOW() -- or any suitable values
;
ALTER TABLE posts CHANGE `date` `date` datetime NOT NULL
;
【讨论】:
【参考方案2】:您要添加的列不能是null
。那么现有的行有什么价值呢?
您需要指定一个默认值,或者允许null
直到它以某种方式填充。
【讨论】: