今天在线上部署 flask,创建数据库的时候遇到了如图的问题:
通过如下命令检查当前的 sql_modes:
show variables like 'sql_mode' ;
出现这个问题的原因是 mysql5.7 之后的版本里面 datetime 默认值设置为 0000-00-00,而 5.7 里 mysql 不允许时间戳的值为 0。
解决这个问题的方法是修改 my.cnf 文件:
vim /etc/mysql/my.cnf
在 [mysqld]
中添加下面这行语句:
sql-mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
再重启 mysql, 问题就得到解决了。