MySQL 5.7 日期默认值问题

mysql 5.7 的sql mode中NO_ZERO_IN_DATE, NO_ZERO_DATE两个选项禁止了0000-00-00这样的日期和时间,因此旧版数据中包含这类日期的就会导入不成功。

查看sql_mode的方法为:

select @@sql_mode;

解决方案为:在mysql的配置文件中,重新设置sql-mode,去掉这两项就可以了。如:

[mysqld]
sql-mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

另,
OS X 系统,用brew安装的mysql默认是不用my.cnf配置文件的,需要自己创建my.cnf文件

sudo touch /etc/my.cnf
sudo vi /etc/my.cnf

修改配置之后,重启mysql即可

brew services start mysql
brew services stop mysql

424 total views, 4 views today

Revisions

Comments are closed.