之前简单整理了一下MYSQL的 sql_mode的设置,宋老师给备注评论了一下,特此感谢!
sql
1 | SELECT @@SESSION.sql_mode; |
这种方式,查询的是SESSION 级别的sql_mode,在SESSION关闭后,设置会失效
sql
1 | SELECT @@GLOBAL.sql_mode; |
这种方式,查询的是GLOBAL 级别的sql_mode,在SESSION关闭后,设置的sql_mode不会失效,但是当MYSQL重启后,设置会失效
总结:
SET SESSION,SESSION结束后关闭,就会丢失修改SET GLOBAL,在MYSQL重启后,会丢失设置- 修改
mysqld,在mysqld一节下增加sql_mode配置,这种方式,重启都不会丢失修改 (但是线上数据库,很少有机会这样修改配置并重启,这种方式,很少有机会用到) - 代码级别指定,在创建
MYSQL CONNECTION时,指定sql_mode, 这种类似于SESSION,每次都是new session
总而言之!宋老师优秀!




