我对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
您可以通过在表上设置插入后触发器来填写任何新记录的"现在"价值来解决此问题。