mysql可以运行在不同sql mode模式下面,sql mode模式定义了mysql应该支持的sql语法,数据校验等
2014-05-06 11:54
786 查看
查看默认的sql mode模式:
select @@sql_mode;
我的数据库是:
STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
在此模式下面,如果插入的数据的长度大于定义的长度,那么就会报错!
set session sql_mode='REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI';
在这种模式下面:插入的数据的长度大于定义的时候,就会截取,并警告,但是可以插入进去
session表示只在本次中有效
global:表示在本次连接中不生效,而对于新的连接就生效
启用NO_BACKSLASH_ESCAPES模式,使反斜线成为普通字符,在导入数据时候,如果数据中有反斜线,启用这个模式是个不错的选择
启用PIPES_AS_CNCAT模式,将||看成是普通字符串
常用的sql mode:
sql mode值 说明
ANSI 'REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE和ANSI组合',这种模式使语法和行为更符合标准的sql
STRICT_TRANS_TABLES 使用与事务和非事务表,严格模式
TRADITIONAL 也是严格模式,对于插入不正确的值给出错误而不是警告。用在事务时,只要发生错误就立即回滚
本文来自: (www.91linux.com) 详细出处参考:http://www.91linux.com/html/article/database/mysql/20081127/13955.html
这是我网上找到的资料
我觉得mysql_query("SET sql_mode=''");这句的设定可能是为了不让数据插入错误时不报错。。。。。。。不知道大家怎么看?
select @@sql_mode;
我的数据库是:
STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
在此模式下面,如果插入的数据的长度大于定义的长度,那么就会报错!
set session sql_mode='REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI';
在这种模式下面:插入的数据的长度大于定义的时候,就会截取,并警告,但是可以插入进去
session表示只在本次中有效
global:表示在本次连接中不生效,而对于新的连接就生效
启用NO_BACKSLASH_ESCAPES模式,使反斜线成为普通字符,在导入数据时候,如果数据中有反斜线,启用这个模式是个不错的选择
启用PIPES_AS_CNCAT模式,将||看成是普通字符串
常用的sql mode:
sql mode值 说明
ANSI 'REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE和ANSI组合',这种模式使语法和行为更符合标准的sql
STRICT_TRANS_TABLES 使用与事务和非事务表,严格模式
TRADITIONAL 也是严格模式,对于插入不正确的值给出错误而不是警告。用在事务时,只要发生错误就立即回滚
本文来自: (www.91linux.com) 详细出处参考:http://www.91linux.com/html/article/database/mysql/20081127/13955.html
这是我网上找到的资料
我觉得mysql_query("SET sql_mode=''");这句的设定可能是为了不让数据插入错误时不报错。。。。。。。不知道大家怎么看?
相关文章推荐
- MySQL - MySQL 5.1参考手册 - 第13章:SQL语句语法 - 13.1. 数据定义语句 - CREATE TABLE
- MySQL - SQL语句语法(数据定义语句)
- MySQL基础教程14 —— SQL语法之数据定义语句DDL
- 尽管普通的sql语句代码可以实现数据插入的操作,但是更好的代码应该是参数的方式:
- mysql常用基础操作语法(六)--对数据排序和限制结果数量的条件查询【命令行模式】
- Mysql:语法:支持的和其他数据库开发商兼容的数据类型映射,或者说mysql的数据类型别名
- mysql的sql_mode 模式修改 my.cnf
- MySQL数据类型:SQL_MODE设置不容忽视
- MySQL的sql_mode模式
- 详解mysql的sql_mode模式
- mysql的sql_mode 模式修改 my.cnf
- SQL_MODE为严格模式下的数据安全专题报告
- MySQL 严格模式 sql_mode
- MySQL自增列锁模式 innodb_autoinc_lock_mode不同参数下性能测试
- MySQL数据类型:SQL_MODE设置不容忽视
- mysql的sql_mode模式
- mysql的sql_mode 模式修改
- 使用mysql的图形工具SQL-front时弹出提示:“程序注册时间到期 程序将被限制模式下运行”
- MySQL 数据表创建详细SQL语法
- 求斐波那契数列第100位(通过C++数组模拟大数,注意VC6语法支持的不好,编译不过,在VS下面可以)