在Navicat中运行sql语句创建数据表出现了错误Err 1067。
原因竟然是timestamp的默认值不正确。
查阅资料得知,mysql5.7版本中有了一个STRICT mode(严格模式),而在此模式下默认是不允许设置日期的值为全0值的,所以想要
解决这个问题,就需要修改sql_mode的值。
原因竟然是timestamp的默认值不正确。
查阅资料得知,mysql5.7版本中有了一个STRICT mode(严格模式),而在此模式下默认是不允许设置日期的值为全0值的,所以想要
解决这个问题,就需要修改sql_mode的值。
使用命令 select @@sql_mode; 可以查看sql_mode的值。如果输入了命令却没有反应,只是单单出现了 -> ,那么我想
你多半是应该像我一样,没有输入“;”。
通过上图中的结果我们可以看到sql_mode中有NO_ZERO_IN_DATE和NO_ZERO_DATE,在命令行中输入
set sql_mode=(select replace(@@sql_mode,'NO_ZERO_IN_DATE,NO_ZERO_DATE','')); 可以修改sql_mode。
使用命令select @@global.sql_mode; 可以查看全局sql_mode的值。
剩下的操作与之前的sql_mode设置是同理可证的,只是将之前sql_mode的地方都换成了@@global.sql_mode