MySQL “Invalid default value for ‘Date'”问题解决方法
在使用MySQL时,经常会遇到”Invalid default value for ‘Date'”的错误提示,这是由于MySQL版本更新导致的,下面我们将介绍如何解决这个问题。
阅读更多:MySQL 教程
问题原因
在MySQL 5.7.5版本以后,对于日期类型的字段,需要给定一个默认值,否则就会报”Invalid default value for ‘Date'”的错误。例如,在创建表时,如果定义如下的字段:
如果不给birth_date字段指定默认值,就会出现如下的错误提示:
解决方法
方法一:
在MySQL 5.7.5版本以后,对于日期类型的字段,需要给定一个默认值,否则就会报”Invalid default value for ‘Date'”的错误。要解决这个问题,有两种方法。
第一种方法就是给日期类型的字段指定一个默认值,例如:
方法二:
第二种方法是修改MySQL配置文件,将sql_mode参数的值设置为空,例如:
注意,这种方法在修改配置文件后需要重启MySQL服务才能生效。
示例
我们可以创建一个简单的表,来试一下上面的解决方法。首先,我们创建一个名为”test”的数据库,并进入该数据库:
然后,我们在该数据库下创建一个表,该表有三个字段,分别是”id”、”name”和”birth_date”:
接下来,我们往该表中插入一条记录:
然后,我们查询该表中的所有记录:
运行上面的查询语句后,会输出如下的结果:
可见,我们成功地创建了一个包含日期类型字段的表,并且成功地向该表中插入了一条记录。
总结
在MySQL 5.7.5版本以后,对于日期类型的字段,需要给定一个默认值,否则就会报”Invalid default value for ‘Date'”的错误。解决这个问题有两种方法,一种是给日期类型的字段指定一个默认值,另一种是修改MySQL配置文件。上面的示例中演示了给日期类型字段指定默认值的方法,希望对大家有所帮助。