Created_At 的默认值无效
问题:
尝试通过以下方式更改表时添加新列时,您会遇到错误:
ERROR 1067 (42000): Invalid default value for 'created_at'
尽管没有修改任何时间戳列。
解决方案:
错误源自sql_modes。要解决此问题:
show variables like 'sql_mode' ;
从以下模式中删除sql_mode:
NO_ZERO_IN_DATE NO_ZERO_DATE
这些模式默认存在于较新的 MySQL 版本中。
全局设置:
对于系统范围的更改,以 root 身份执行以下命令:
set global sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
其他注意:
ALTER TABLE investments ADD bank TEXT DEFAULT NOT NULL;
以上是为什么在 MySQL 中添加列会导致''created_at'的默认值无效”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!