MySQL 如何禁用严格模式

如何在MySQL中禁用严格模式?

对于更改数据的查询中缺少或不正确的值的处理由MySQL严格模式控制。这包括CREATE TABLE,UPDATE和INSERT语句。当尝试使用启用了MySQL严格模式(默认设置)的查询进行处理时,无效或缺失的数据可能会导致警告或故障。

当关闭严格模式时,相同的查询将修改其缺失或不正确的数据,并产生直接的警告。这看起来可能是期望的结果,但是关闭严格模式后,某些活动可能会产生意想不到的影响。例如,如果正在添加值并且它的字符数超过允许的数量,则它将被截断以适合。

MySQL的严格模式始终开启。可以通过几种不同的方式禁用它。

通过SQL禁用严格模式

以下命令可通过此方法在MySQL服务器上禁用严格模式。

mysql -u root -p -e "SET GLOBAL sql_mode ='NO_ENGINE_SUBSTITUTION';"

现在,您可以通过运行以下命令验证已设置的模式。

mysql -u root -p -e "SELECT @@GLOBAL.sql_mode;"

通过my.cnf / my.ini禁用严格模式:

  • 要编辑,请启动my.ini或my.cnf文件(文件取决于您是否在运行Windows或Linux)。
  • 找到以下行
sql_mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
  • 将其更改为以下行:

    如果找不到,请在[mysqld]部分下插入该行(如果没有[mysqld]部分,则创建它)。

以以下方式创建mysqlId:
sql_mode =""
  • 要使修改生效,请重启MySQL服务。

    如果现在无法重新启动,则可以进入数据库服务器并使用下面列出的命令立即使更改生效。如果未执行上述过程,则修改将在下次MySQL服务重新启动时丢失。

set global sql_mode ='';

无论为什么MySQL管理员必须禁用严格模式,都可以通过此方法在服务器上禁用MySQL严格模式。

此规则适用于标准版,标准(多语言)版,企业版(MySQL),企业多语言版(MySQL),企业版(SQL Server)和企业版(MySQL)(SQL Server)。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程