如何在MySQL 5.7中禁用严格的SQL模式
时间:2019-05-19 01:25:54 来源:igfitidea点击:
如何在MySQL 5.7中禁用严格的SQL模式?
如何禁用MySQL严格模式?
如何设置sql_mode选项全局禁用我的MySQL服务器的严格模式?
Strict模式控制MySQL如何处理INSERT或UPDATE等数据更改语句中的无效或缺失值。
这可能是由于任何原因,比如如果严格模式是启用的,除以0会产生错误。
日期不允许为“0000-00-00”,因此会产生错误。
本教程将禁用MySQL server 5.7或更高版本中的严格SQL模式。
禁用严格SQL模式
我们可以在服务器上编辑 mysqld.cnf。
但是对于本教程,我将创建一个单独的配置文件来禁用MySQL服务器中的严格SQL模式。
sudo vim /etc/mysql/conf.d/disable_mysql_strict_mode.cnf
添加以下内容并保存文件。
[mysqld] sql_mode="IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
现在重新启动MySQL服务使更改生效。
sudo systemctl restart mysql.service
验证SQL模式
登录到MySQL控制台并执行下面的查询来查找sql_mode变量的值。
mysql> SELECT @@sql_mode;
确保结果中没有 ONLY_FULL_GROUP_BY和 STRICT_TRANS_TABLES。