mysql的严格模式是指:

MySQL严格模式说明:
不支持对not null字段插入null值;
不支持自增字段插入” “值;
不支持text字段有默认值;

方法一:临时关闭(当前会话)

方法二:永久关闭(修改配置文件)

  1. 找到 mysql 的配置文件(通常是 my.cnf 或 my.ini)

    • Linux: /etc/mysql/my.cnf 或 /etc/my.cnf 或 /etc/mysql/mariadb.conf.d/50-server.cnf

    • Windows: C:\Program Files\mysql(MariaDB) XX.X\data\my.ini

  2. 在 [mysqld] 部分添加或修改以下行:

  3. 重启 mysql 服务使更改生效:

方法三:动态修改全局设置

验证更改

注意事项

  1. 关闭严格模式后,mysql 会对无效数据更宽容(如截断字符串而不是报错)

  2. 生产环境不建议关闭严格模式,因为它有助于数据完整性

  3. 如果只想修改特定严格模式选项而不是全部关闭,可以精确调整 sql_mode 值

常见的 sql_mode 值包括:

  • STRICT_TRANS_TABLES:事务表的严格模式

  • STRICT_ALL_TABLES:所有表的严格模式

  • NO_ZERO_IN_DATE:禁止日期中的零值

  • NO_ZERO_DATE:禁止 ‘0000-00-00’ 日期

  • ERROR_FOR_DIVISION_BY_ZERO:除零错误