首页  >  文章  >  数据库  >  为什么我在 MySQL 中收到“\'create_date\'时间戳字段的默认值无效”错误?

为什么我在 MySQL 中收到“\'create_date\'时间戳字段的默认值无效”错误?

Susan Sarandon
Susan Sarandon原创
2024-10-26 22:19:02854浏览

Why Am I Getting

“create_date”时间戳字段的默认值无效

创建带有时间戳列的表并指定默认值“0000-”时00-00 00:00:00',可能会出现错误,指示“'create_date'的默认值无效”。这个错误是由 MySQL 的 SQL 模式 - NO_ZERO_DATE 引起的。

根据 MySQL 参考手册,NO_ZERO_DATE 会阻止在严格模式下插入 '0000-00-00' 作为有效日期。在本例中,“create_date”列被定义为时间戳并分配了默认值“0000-00-00 00:00:00”。但是,SQL 模式 - NO_ZERO_DATE 禁止此类值。

要解决此错误,请考虑以下选项:

  • 在创建之前使用 SET sql_mode="" 命令禁用 SQL 模式 - NO_ZERO_DATE表。
  • 为“create_date”列使用非“0000-00-00 00:00:00”的不同默认值,例如“CURRENT_TIMESTAMP”。
  • 插入零使用 IGNORE 选项的日期,该选项允许插入此类值并带有警告而不是错误。

以上是为什么我在 MySQL 中收到“\'create_date\'时间戳字段的默认值无效”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn