【问题标题】:Invalid default value for 'date_available'“date_available”的默认值无效
【发布时间】:2017-12-09 04:25:26
【问题描述】:

我正在尝试更改 catalog_no,但在更改它时我收到有关“date_available”列的错误

我用于更改 catalog_no 的 SQL 是:

ALTER TABLE `product` CHANGE `catalog_no` `catalogno` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;

但这给了我错误#1067- Invalid default value for 'date_available'

这个错误的原因是什么,我该如何解决,请帮忙。

谢谢

【问题讨论】:

  • date_available 是否存在于同一张表上?这张桌子上有触发器吗?
  • date_available 存在于同一张表上。
  • 该列的默认设置是什么?以及它是什么数据类型(确切地说)
  • date_available -> data_type = date -> default_value = 0000-00-00 catalog_no ->data_type = VARCHAR(255) -> default_value = None

标签: mysql


【解决方案1】:

问题是因为 sql_modes。请通过命令检查您当前的 sql_modes:

show variables like 'sql_mode' ; 

并删除 sql_mode "NO_ZERO_IN_DATE,NO_ZERO_DATE" 使其工作。

这是mysql新版本默认的sql_mode。

Source

【讨论】:

  • 不,这是mysql新版本默认的sql_mode
猜你喜欢
  • 2021-08-17
  • 2018-01-05
  • 1970-01-01
  • 2020-12-01
  • 2014-12-07
  • 2017-06-06
  • 1970-01-01
  • 2016-06-28
  • 2019-02-28
相关资源
最近更新 更多