在本地建表,发现无法给date类型设置默认值为 0000-00-00 ,报错:

mysql 5.7 emnu 默认值空 mysql默认值为0怎么设置_默认值

 

   在mysql命令行输入:SELECT @@SQL_MODE ,可以看到值为:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

  这个是默认值,其中 NO_ZERO_IN_DATE 这个限制了date类型里,不能有0值。

mysql 5.7 emnu 默认值空 mysql默认值为0怎么设置_mysql 5.7 emnu 默认值空_02

 

 

 

  解决办法:去mysql安装路径下,找到my.ini文件,设置如下:

sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

mysql 5.7 emnu 默认值空 mysql默认值为0怎么设置_SQL_03

 

 

 

  设置好后,需要重启mysql服务,具体路径:此电脑--右键--管理---服务,找到mysql服务,停止,启动,再去mysql命令行执行 SELECT @@SQL_MODE  ,执行sql就可以了。

mysql 5.7 emnu 默认值空 mysql默认值为0怎么设置_默认值_04

mysql 5.7 emnu 默认值空 mysql默认值为0怎么设置_默认值_05

 

 

mysql 5.7 emnu 默认值空 mysql默认值为0怎么设置_SQL_06

 

一个集才华与美貌于一身的程序员