我对SQL遇到了一个愚蠢的问题,我无法解决。

ALTER TABLE  `news` 
 ADD  `dateAdded` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AUTO_INCREMENT ,
 ADD PRIMARY KEY (  `dateAdded` )

错误:

(#1067)Invalid default value for 'dateAdded'

有人可以帮我吗?

答案

CURRENT_TIMESTAMP仅可接受TIMESTAMP字段。DATETIME必须将字段留为默认值,或者根本没有默认值 - 默认值必须是恒定值,而不是表达式的结果。

相关文档:http://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html

您可以通过在表上设置插入后触发器来填写任何新记录的"现在"价值来解决此问题。

来自: stackoverflow.com