MYSQL sql_mode
Sql_mode是不同程度上检验数据的准确性,在对于数据转移有着很大的作用。
Sql_mode常见的为三种:ANSI,strict_trans_tables,traditional。后两者为严格模式,意思就是数据不允许非法日期,不允许超过栏位设定的值插入栏位中,对于插入数据不正确的数据发出错误而非警告。但是第一个ANSI的mode来说,及时插入不正确的数据只会发出警告,是的插入的值变为null或为0。
查看MySQL的sql_mode
在 workbeen中执行select @@ sql_mode;可以看到
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
这是多个mode组合成的模式
修改sql_mode:
1、执行语句set [session|global] sql_mode=‘modes’;
session表示该设置只在本连接有效,量只影响当前的客户端。任何客户端可以随时更改自己的会话 sql_mode值。
而global虚线表示本次连接不生效,对于新的连接生效。需要拥有SUPER权限,并且会影响从那时起连接的所有客户端的操作。
2、进入my.ini搜索sql-mode,可查看mode,修改之后重启mysql生效。