我在 CentOS Linux 上安装了 Mysql 5.6 默认情况下它设置 SQl 模式严格
选择@@GLOBAL.sql_mode; +--------------------------------------------+ | @@GLOBAL.sql_mode | +--------------------------------------------+ | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | 选择@@SESSION.sql_mode; +--------------------------------------------+ | @@SESSION.sql_mode | +--------------------------------------------+ | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | +--------------------------------------------+
我通过命令行将 sql_mode 从 root 用户更改为 none 通过命令
设置会话 sql_mode = ''; 设置全局 sql_mode = '';
在此之后我执行了命令上面的命令,它们显示了
选择@@SESSION.sql_mode; +--------------------+ | @@SESSION.sql_mode | +--------------------+ | | +--------------------+ 一组中的 1 行(0.00 秒) mysql> 选择 @@GLOBAL.sql_mode; +-------------------+ | @@GLOBAL.sql_mode | +-------------------+ | | +-------------------+ 一组中的 1 行(0.00 秒)
但是当我重新启动 Mysql Server 时,我再次设置了严格模式,即
选择@@GLOBAL.sql_mode; +--------------------------------------------+ | @@GLOBAL.sql_mode | +--------------------------------------------+ | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | 选择@@SESSION.sql_mode; +--------------------------------------------+ | @@SESSION.sql_mode | +--------------------------------------------+ | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | +--------------------------------------------+
我还在 my.cnf 文件中添加了 mysql-mode="" 但重新启动 mysql 后结果相同