默认情况下启用此功能,但是,你可以通过以下几种方式之一禁用它。
首先,验证MYSQL运行的模式:$ mysql -u root -p -e "SHOW VARIABLES LIKE 'sql_mode';"
这将打印出类似此(但是更漂亮)的内容: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
有关设置MySQL模式的完整文档可参阅 服务器SQL模式 MySQL文档中的页面,
1.通过SQL禁用严格模式:
你可以运行以下命令,从而在你的MySQL服务器上禁用严格模式:$ mysql -u root -p -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';"
然后,可以通过运行以下命令来验证是否设置了模式:$mysql -u root -p -e "SELECT @@GLOBAL.sql_mode;"
2.通过my.cnf禁用严格模式:
my.cnf 文件可以在以下几个位置中找到:(根据你使用的发行版),最常见的位置是 /etc/my.cnf 和 /etc/mysql/my.cnf 。
[mysqld] 然后查找sql_mode的值,它可能看起来像这个(SQL模式的实际值可能不同):sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,
你可以将sql_mode的值更改为 NO_ENGINE_SUBSTITUTION,
然后保存文件,然后重新启动MySQL 。