16 SQL Mode及相关问题

来源:互联网 发布:淘宝网的药品是真的吗 编辑:程序博客网 时间:2024/04/30 04:52

查看默认的sql_mode的命令:select @@sql_mode ;

一般默认的SQL_MODE(ANSI)

REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI

(我的sql mode默认:

NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION )

这种情况允许你插入的数据超过定义的长度(会产生一个warning,可以用show warnings查看),但是会自动截断。

 

现在设置SQl Mode为严格模式(STRICT_TRANS_TABLES)

Mysql> set session sql_mode='STRICT_TRANS_TABLES' ;

插入数据就不会提示warning而是error.

 

设置语法set [session global] sql_mode 'mode' 

 其中:session代表只在本次有效。

      global选项代表本次无效,而对于新的连接生效。

 

 

 

 

ANSI:非法日期可以插入,但会提示Warning

Traditional:严格模式,不能插入非法日期等非法值。

NO_BACKSLASH_ESCAPES:使反斜杠成为普通字符。

PIPES_AS_CONCAT:将“||”视为字符串连接操作符

例如:select 'xiaozhe'||'abc';

 

 

 

常用的Sql Mode

16 <wbr>SQL <wbr>Mode及相关问题



 

 

数据库在迁移过程中的各个Sql Mode:

16 <wbr>SQL <wbr>Mode及相关问题

 

 

 

原创粉丝点击