mysql 关闭严格_如何禁用MySQL严格模式?

这篇博客介绍了如何禁用MySQL的严格模式。默认情况下,MySQL运行在严格模式,但可以通过SQL命令或修改my.cnf配置文件来禁用。首先,可以使用`SHOW VARIABLES LIKE 'sql_mode';`命令查看当前模式,然后使用`SET GLOBAL sql_mode='NO_ENGINE_SUBSTITUTION';`禁用。若要永久禁用,需编辑my.cnf文件,将sql_mode设置为NO_ENGINE_SUBSTITUTION并重启MySQL服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

默认情况下启用此功能,但是,你可以通过以下几种方式之一禁用它。

首先,验证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 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值