一尘不染

“ dateAdded”的默认值无效

mysql

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

ALTER TABLE`新闻` 
 ADD`dateAdded` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AUTO_INCREMENT,
 添加主键(`dateAdded`)

错误:

(#1067)Invalid default value for 'dateAdded'

有人可以帮我吗?


阅读 337

收藏
2020-05-17

共1个答案

一尘不染

CURRENT_TIMESTAMP仅在TIMESTAMP字段上可接受。DATETIME字段必须保留为空的默认值,或者根本不保留任何默认值-
默认值必须为常量值,而不是表达式的结果。

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

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

2020-05-17