十二、mysql sql_mode 简学_MySQL
1.一般默认情况下sql_mode默认为空,也就是不严格的sql检查2.如果sql_mode为空的情况下,测试: create table tt3 (name char(2)); //定义一个name字段长度为定长2的tt3表 insert into tt3 values ('wo'); //正常插入,无措 insert into tt3 values ('woshi'); //正常插入,但值已被截取成了“wo” 修改sql_mode为严格模式: set session sql_mode = 'STRICT_TRANS_TABLES'; insert into tt3 values ('woshi'); //报错:ERROR 1406 (22001): Data too long for column 'name' at row 1 也就是说严格情况下,是严格控制字段输入值的长度的3.set session sql_mode = 'STRICT_TRANS_TABLES'; 本次连接生效 set global sql_mode = 'STRICT_TRANS_TABLES'; 本次连接不生效,新的连接生效 4.set session sql_mode = 'NO_BACKSLASH_ESCAPES'; 开启后,斜杠将会被当作字符串插入 比如 insert into tt3 values ('/1'); ,开启之前插入"1",开启之后插入"/1"; 5.set session sql_mode = 'PIPES_AS_CONCAT'; 开启后,||将被当做连接符 比如 select "beijing"||2008; 开启之前返回1,(进行或运算),开启之后返回"beijin2008"6.常见的sql_mode ANSI::更接近标准的sql STRICT_TRANS_TABLES::严格模式,不允许非法日期,不允许超出字段长度定义的值 TRADITIONAL::严格模式,插入不正确的值将直接报错,一般可用在事务的时候
上一篇: Mysql几个比较常用的命令_MySQL
下一篇:
php正则匹配嵌套
推荐阅读
MySQL5.7 sql_mode=only_full_group_by的解决办法
MySql版本问题sql_mode=only_full_group_by的完美解决方案
mysql经典书籍:MYSQL5.5从零开始学PDF下载高清完整扫描原版
MySQL sql_mode=only_full_group_by错误
mysql中的sql_mode模式实例详解
解决MySQL 5.7.9版本sql_mode=only_full_group_by问题
MySQL5.5从零开始学例题和综合案例
mysql 使用group by报错 sql_mode=only_full_group_by 在navicat中修改session 中的sql_mode
使用MySQL,SQL_MODE有哪些坑,你知道么?
MySQL的sql_mode模式修改my.cnf