mysql工作模型_mysql之SQL模型

SQL模型(SQL mode):

通过定义某些规定,限制用户行为,并定义对应的处理机制。

常见的模型:

ANSI

宽松模式,对插入数据进行校验,如果不符合定义类型或长度,对数据类型调整或截断保存,报warning警告。

TRADITIONAL

严格模式,当向mysql数据库插入数据时,进行数据的严格校验,保证错误数据不能插入,报error错误。用于事物时,会进行事物的回滚。

STRICT_TRANS_TABLES

严格模式,进行数据的严格校验,不允许向一个支持事物的表中插入非法数据,报error错误。

STRICT_ALL_TABLES

未设置的情况下,所有的非法数值都允许,返回警告信息。设置以后只要违反数据规则,都不允许填入,并返回错误。

ANSI QUOTES

双引号和反引号作用相同,只能用来引用字段名称/表名等,单引号只能引用在字符串。mysql中默认3者可以随意引用。

IGNORE_SPACE

在内建函数中忽略多余空格

查看默认的模型:

mysql>SHOW GLOBAL VARIABLES LIKE ‘sql_mode‘;

修改模型:

mysql>SET SESSION sql_mode=MODE1,...; 修改当前会话级别

或者

#vim /etc/my.cnf 配置文件中修改全局级别

sql_mode=MODE1,...

实例:

1.查看全局和会话的sql_mode的值

mysql>SHOW GLOBAL VARIABLES LIKE ‘sql_mode‘;

mysql>SHOW VARIABLES LIKE ‘sql_mode‘;

mysql>SELECT @@global.sql_mode;

mysql>SELECT @@session.sql_mode;

2.修改sql_mode的值为strict_all_tables,并验证动态调整生效情况。

mysql>SET GLOBAL sql_mode=‘strict_all_tables‘;

mysql>SELECT @@session.sql_mode;

mysql>SELECT @@global.sql_mode;

STRICT_ALL_TABLES

mysql>quit;

#mysql -uroot -p

mysql>SELECT @@session.sql_mode;

STRICT_ALL_TABLES

mysql>SET SESSION sql_mode=‘strict_trans_tables‘;

mysql>SELECT @@session.sql_mode;

STRICT_TRANS_TABLES

mysql>SELECT@@global.sql_moed;

STRICT_ALL_TABLES

mysql>quit;

#mysql -uroot -p

mysql>SELECT @@session.sql_mode;

STRICT_ALL_TABLES

本文出自 “小私的blog” 博客,请务必保留此出处http://ggvylf.blog.51cto.com/784661/1679327

mysql之SQL模型

标签:mysql   sql mode

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://ggvylf.blog.51cto.com/784661/1679327

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值