“date_available”的默认值无效

Pan*_*hah 1 mysql

我正在尝试更改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;
Run Code Online (Sandbox Code Playgroud)

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

此错误的原因是什么以及如何解决它,请帮忙。

谢谢

小智 5

问题是由于 sql_modes 引起的。请通过命令检查当前的 sql_modes:

show variables like 'sql_mode' ; 
Run Code Online (Sandbox Code Playgroud)

并删除 sql_mode“NO_ZERO_IN_DATE,NO_ZERO_DATE”以使其正常工作。

这是mysql新版本中默认的sql_mode。

来源