首页 > 解决方案 > 1067 即使从 sql_mode 中删除 NO_ZERO_DATE 和 NO_ZERO_IN_DATE 值,Laravel 中日期 0000-00-00 00:00:00 的默认值也无效

问题描述

我正在尝试运行在这一行失败的 Laravel 迁移

$table->dateTime('start_date')->nullable()->default('0000-00-00 00:00:00');

我收到以下错误:

1067 Invalid default value for 'start_date'

即使从 sql_mode 中删除 NO_ZERO_DATE 和 NO_ZERO_IN_DATE 值。

我正在使用 XAMPP,并运行了以下命令:

SET GLOBAL sql_mode=''

SET SESSION sql_mode=''

SET sql_mode=''

我还从 my.ini xampp 文件中删除了它们,但即便如此,我还是遇到了错误。

我还尝试将排序规则从 utf8_general_ci 更改为 latin1_swedish_ci 但结果相同。有人对可能发生的事情有任何见解吗?

标签: phpmysqllaraveldatabase-migration

解决方案


config/database.php您可以在 params中检查配置文件strict => false应该是。


推荐阅读