[mysqld] sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
时间: 2023-10-11 13:12:56 浏览: 170
MySQL中SQL Mode的查看与设置详解
这是一个MySQL配置文件中的sql_mode设置,它定义了MySQL对于数据插入和查询的严格性检查级别。具体来说,该设置包括以下几个参数:
1. STRICT_TRANS_TABLES:如果插入或更新操作违反了表定义的约束条件,则会导致警告或错误。
2. NO_ZERO_IN_DATE:禁止在日期中使用零值,例如 '0000-00-00'。
3. NO_ZERO_DATE:禁止日期列中的零值,默认情况下,MySQL允许使用 '0000-00-00' 表示无效日期。
4. ERROR_FOR_DIVISION_BY_ZERO:如果除数为零,则会引发错误。
5. NO_ENGINE_SUBSTITUTION:如果指定了一个不存在的存储引擎,MySQL将引发错误。
这些设置可以确保数据的完整性和一致性。当MySQL检测到违反这些设置的操作时,它会引发警告或错误,防止不合规的数据被插入或查询。
阅读全文