我遇到了一个SQL无法解决的愚蠢问题.
ALTER TABLE `news` ADD `dateAdded` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AUTO_INCREMENT , ADD PRIMARY KEY ( `dateAdded` )
错误:
(#1067)Invalid default value for 'dateAdded'
Run Code Online (Sandbox Code Playgroud)
有人能帮助我吗?
Mar*_*c B 131
CURRENT_TIMESTAMP
只在TIMESTAMP
字段上可以接受.DATETIME
字段必须保留为空的默认值,或者根本没有默认值 - 默认值必须是常量值,而不是表达式的结果.
相关文档:http://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html
您可以通过在表上设置插入后触发器来解决此问题,以在任何新记录上填写"now"值.
Tor*_*erv 11
在MySQL 5.7.x上指定DATETIME
为DATETIME(3)
或类似时,请注意,您还必须为其添加相同的值CURRENT_TIMESTAMP(3)
.如果不是,它将继续抛出" 无效的默认值 ".
归档时间: |
|
查看次数: |
143860 次 |
最近记录: |