教你一招搞定mysql中的sql_mode设置


本文摘自PHP中文网,作者醉折花枝作酒筹,侵删。

sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入。在生产环境必须将这个值设置为严格模式,所以开发、测试环境的数据库也必须要设置,这样在开发测试阶段就可以发现问题。

1,执行SQL查看

1

select @@session.sql_mode;

全局级别: 查看

1

select @@global.sql_mode;

2,修改

1

2

set @@session.sql_mode='xx_mode'

set session sql_mode='xx_mode'

全局级别:修改

1

2

set global sql_mode='xx_mode';

set @@global.sql_mode='xx_mode';

session均可省略,默认session,仅对当前会话有效
全局修改的话,需高级权限,仅对下次连接生效,不影响当前会话,且MySQL重启后失效,因为MySQL重启时会重新读取配置文件里对应值,如果需永久生效需要修改配置文件里的值。

1

vi /etc/my.cnf

1

2

[mysqld]

sql-mode = "xx_mode"

保存退出,重启服务器,即可永久生效

sql_mode常用值如下:

ONLY_FULL_GROUP_BY

阅读剩余部分

相关阅读 >>

教你一招搞定mysql中的sql_mode设置

更多相关阅读请进入《sql_mode》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...