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 sql_mode 简学的更多相关文章

  1. 十一讲/十二讲 最近总是学不进去,这咋办啊 哭了我i我i我i

    0: 2,9,7      错错错 帽号回来是列表 1:好像一样?   错错错  不一样,list[0]是一个值,冒号回来是个列表 2:A.insert(0,A[-1]) del A[-1]      ...

  2. Python学习日记(四十二) Mysql数据库篇 十

    前言 当我们自己去写SQL代码的时候有时候会因为不熟练会导致效率低,再之后要进行许多的优化,并且操作也较为繁琐.因此ORM框架就能够解决上面的问题,它能根据自身的一些规则来帮助开发者去生成SQL代码. ...

  3. mysql进阶(二十二)MySQL错误之Incorrect string value: '\xE7\x81\xAB\xE7\x8B\x90...中文字符输入错误

    MySQL错误之Incorrect string value: '\xE7\x81\xAB\xE7\x8B\x90...' for column 'tout' at row 1中文字符输入错误 在实验 ...

  4. 50个SQL语句(MySQL版) 问题十二

    --------------------------表结构-------------------------- student(StuId,StuName,StuAge,StuSex) 学生表 tea ...

  5. 我的MYSQL学习心得(十二) 触发器

    我的MYSQL学习心得(十二) 触发器 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数 ...

  6. 我的MYSQL学习心得(十二)

    原文:我的MYSQL学习心得(十二) 我的MYSQL学习心得(十二) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYS ...

  7. 进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用

    进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数 ...

  8. (十二) 一起学 Unix 环境高级编程 (APUE) 之 进程间通信(IPC)

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  9. 从头开始学JavaScript (十二)——Array类型

    原文:从头开始学JavaScript (十二)--Array类型 一.数组的创建 注:ECMAscript数组的每一项都可以保存任何类型的数据 1.1Array构造函数 var colors = ne ...

随机推荐

  1. OPENSSL安装 以及使用openssl中的AES加密和解密

    OPENSSL安装:(VS) 1:第一步和所有的软件安装一样. 2:将OPENSSL中INLUCDE 和 LIB 分别拷贝到VS中VC的INLUCDE 和LIB目录下(我的机器上的目录是:C:\Pro ...

  2. fancybox的使用

    fancybox,个人没有深入了解,只是为了工作需要,做的一些界面,主要是用的AJAX功能. 首先,需要下载fancybox的js文件以及CSS文件(可能用不到) 其次,在页面中引入 <scri ...

  3. python(1) -文件操作

    很多时候我们需要对文件进行一些操作,比如读取并分析日志文件,写入日志文件等等.显然python也内置了对文件进行操作的函数. 读文件: >>> f = open('a.log','r ...

  4. “Request Entity Too Large” 上传图片出现大小限制

    昨天公司安卓app上传了图片爆了下面这个错误 <"-//IETF//DTD HTML 2.0//EN"> <html><head> <ti ...

  5. 自定义HBase的协处理器(Observer)

    自定义一个Observer... 总共分五步: 1°.继承BaseMasterObserver  (写代码  具体看博客....) 案例(当在HBase中创建表的时候在日志中有相关输出): impor ...

  6. 在 CentOS 里安装 BIND-UTILS 以使用 DIG、HOST 和 NSLOOKUP

    想用一下 dig 指令来进行域名设置的查询,结果 CentOS 提示没有此指令,然后想当然的以为就需要安装 DIG 软件包,可是查了查才知道实际上 dig.host.nslookup 这几个指令都在 ...

  7. 【转】android 安卓APP获取手机设备信息和手机号码的代码示例

    http://blog.csdn.net/changemyself/article/details/7421476 下面我从安卓开发的角度,简单写一下如何获取手机设备信息和手机号码 准备条件:一部安卓 ...

  8. TCP基础知识

    TCP/IP网络协议栈分为应用层(Application).传输层(Transport).网络层(Network)和链路层(Link)四层.如下图所示 两台计算机通过TCP/IP协议通讯的过程如下所示 ...

  9. Jersey(1.19.1) - Extracting Request Parameters

    Parameters of a resource method may be annotated with parameter-based annotations to extract informa ...

  10. 参数请求post, get , delete中的基本使用(2)

    UTF-8数字编码 /// <summary> /// 参数的Url请求 /// </summary> /// <returns></returns> ...