这个错误可能是因为你的 MySQL 数据库版本不支持 CURRENT_TIMESTAMP
作为默认值。在一些早期版本中,MySQL 对 TIMESTAMP
类型字段的默认值设置有限制,只允许使用特定的常量值(如 0000-00-00 00:00:00
或 CURRENT_TIMESTAMP()
)。如果你的 MySQL 版本太旧,则可能无法识别 CURRENT_TIMESTAMP
。
要解决这个问题,你可以尝试以下几种方法之一:
- 升级你的 MySQL 版本到 5.6.5 或更高版本,这些版本已经支持
CURRENT_TIMESTAMP
作为TIMESTAMP
字段的默认值。 - 将
create_time
的默认值设置为0000-00-00 00:00:00
,这是 MySQL 中TIMESTAMP
类型的默认值之一,但是这样会使得这个字段无法记录创建时间。(这样不能自动添加创新日期)
3.设置 sql_mode(如果这个不能解决,只能升级了)
set sql_mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";