【问题标题】:Invalid default value for 'date' field“日期”字段的默认值无效
【发布时间】:2016-09-22 13:10:09
【问题描述】:

我看了一下这个possibly dupicated article,但仍然没有找到结果 我在寻找。该问题的答案解释了如何 一切正常,但没有提供如何实际解决这个问题。 MYSQL bench 有一个解决方案,但我正在使用 TERMINAL MAC OX。

birthday date NOT NULL DEFAULT '0000-00-00'

返回:ERROR 1067 (42000): Invalid default value for 'birthday'.

我该如何解决这个问题?有人可以提供完整的语法吗?我正在使用 MAC OX 上的终端。

非常感谢您的帮助!

【问题讨论】:

  • birthday date NOT NULL DEFAULT CURRENT_TIMESTAMP
  • 这个错误是mysql引发的,与你使用的客户端无关。链接主题中的解决方案也不特定于 mysql workbench。如果不允许零日期,则解决方案是不使用零日期作为默认值。选择其他东西。
  • 单击链接问题中已接受答案中的链接。您需要配置服务器的SQL_MODE 以允许日期中的全零。不过,更好的是使用DEFAULT NULL,因为NULL 是未设置/未定义值的正确标记。这是 MySQL 5.7 中默认行为的更改。

标签: mysql date


【解决方案1】:

根据 MySQL 文档 (http://dev.mysql.com/doc/refman/5.7/en/datetime.html),支持的范围是 '1000-01-01' 到 '9999-12-31'

【讨论】:

    【解决方案2】:

    DATE 支持的范围是“1000-01-01”到“9999-12-31”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-29
      相关资源
      最近更新 更多