avatar

目录
MySQL的sql_mode的设置及影响范围

之前简单整理了一下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 SESSIONSESSION结束后关闭,就会丢失修改
  • SET GLOBAL,在MYSQL重启后,会丢失设置
  • 修改mysqld,在mysqld一节下增加sql_mode配置,这种方式,重启都不会丢失修改 (但是线上数据库,很少有机会这样修改配置并重启,这种方式,很少有机会用到)
  • 代码级别指定,在创建MYSQL CONNECTION 时,指定sql_mode, 这种类似于SESSION,每次都是new session

avatar

总而言之!宋老师优秀!

文章作者: Viola Tangxl
文章链接: https://violatangxl.github.io/2020/08/15/mysql-sql-mode-2/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 椰子是只猫
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论