MySQL SQL模式特点汇总
前言
MySQL服务器可以在不同的SQL模式下运行,并且可以针对不同的客户端以不同的方式应用这些模式,具体取决于sql_mode系统变量的值。DBA可以设置全局SQL模式以匹配站点服务器操作要求,并且每个应用程序可以将其会话SQL模式设置为其自己的要求。
模式会影响MySQL支持的SQL语法以及它执行的数据验证检查。这使得在不同环境中使用MySQL以及将MySQL与其他数据库服务器一起使用变得更加容易。
设置SQL模式
要在运行时更改SQL模式,请sql_mode使用以下SET 语句设置全局或会话 系统变量
SET GLOBAL sql_mode = 'modes';
SET SESSION sql_mode = 'modes';
模式列表
| 模式 | 注释 |
|---|---|
| ALLOW_INVALID_DATES | 无效日期会生成错误 |
| ERROR_FOR_DIVISION_BY_ZERO | 除0错误 |
| NO_BACKSLASH_ESCAPES | 禁止使用反斜杠字符(\)作为字符串中的转义字符。启用此模式后,反斜杠就像其他任何一个普通字符一样。 |
| NO_UNSIGNED_SUBTRACTION | 在整数值之间减去(其中一个是类型) UNSIGNED,默认情况下会产生无符号结果。如果结果否则为负,则会导致错误 |
| NO_ZERO_IN_DATE | '0000-00-00' 则允许并且插入产生警告 |
| ONLY_FULL_GROUP_BY | select 内指定字段必须出现在 groupby 中,否则错误 |
| STRICT_TRANS_TABLES | 为事务存储引擎启用严格的SQL模式,并在可能的情况下为非事务性存储引擎启用。 |
| STRICT_ALL_TABLES | 为所有存储引擎启用严格SQL模式。无效的数据值被拒绝。 |
详情请参考 https://dev.mysql.com/doc/ref...
严格SQL模式
MySQL服务器可以在不同的SQL模式下运行,并且可以针对不同的客户端以不同的方式应用这些模式,具体取决于sql_mode系统变量的值。在严格SQL模式下,服务器会将某些警告升级为错误。
严格SQL模式适用于以下语句
- ALTER TABLE
- CREATE TABLE
- CREATE TABLE ... SELECT
- DELETE
- INSERT
- LOAD DATA
- LOAD XML
- SELECT SLEEP()
- UPDATE
在存储的程序中,如果在严格模式生效时定义了程序,则列出的类型的单个语句将以严格的SQL模式执行。
严格的SQL模式适用于以下错误,表示输入值无效或缺失的一类错误。如果值具有错误的列数据类型或可能超出范围,则该值无效。如果要插入的新行不包含其定义中NOT NULL没有显式DEFAULT子句的列的值,则缺少值。
- ER_BAD_NULL_ERROR
- ER_CUT_VALUE_GROUP_CONCAT
- ER_DATA_TOO_LONG
- ER_DATETIME_FUNCTION_OVERFLOW
- ER_DIVISION_BY_ZERO
- ER_INVALID_ARGUMENT_FOR_LOGARITHM
- ER_NO_DEFAULT_FOR_FIELD
- ER_NO_DEFAULT_FOR_VIEW_FIELD
- ER_TOO_LONG_KEY
- ER_TRUNCATED_WRONG_VALUE
- ER_TRUNCATED_WRONG_VALUE_FOR_FIELD
- ER_WARN_DATA_OUT_OF_RANGE
- ER_WARN_NULL_TO_NOTNULL
- ER_WARN_TOO_FEW_RECORDS
- ER_WRONG_ARGUMENTS
- ER_WRONG_VALUE_FOR_TYPE
- WARN_DATA_TRUNCATED
致谢
感谢你看到这里,希望本篇文章可以帮到你,谢谢。
MySQL SQL模式特点汇总的更多相关文章
- MySQL服务 - MySQL列类型、SQL模式、数据字典
MySQL列类型的作用: 列类型可以简单理解为用来对用户往列种存储数据时做某种范围"限定",它可以定义数据的有效值(字符.数字等).所能占据的最大存储空间.字符长度(定长或变长). ...
- MySQL服务器的SQL模式 (转)
转自: http://blog.csdn.net/kumu_linux/article/details/8185912 sql_mode的系统变量可以调控MySQL的SQL模式 任何一个客户端可以在不 ...
- Mysql服务器SQL模式 (官方精译)
MySQL服务器可以在不同的SQL模式下运行,并且可以根据sql_mode系统变量的值对不同的客户端应用不同的模式.DBA可以设置全局SQL模式以匹配站点服务器操作需求,并且每个应用程序可以将其会话S ...
- mysql基础-数据类型和sql模式-学习之(三)
0x01 mysql的两种方向: 开发DBA:数据库设计(E-R关系图).sql开发.内置函数.存储历程(存储过程和存储函数).触发器.时间调度器(event scheduler) 运维----> ...
- 2.Mysql SQL基础
2.Mysql SQL基础2.1 SQL简介 SQL(Structure Query Language)是结构化查询语言.2.2 SQL使用入门 2.2.1 SQL分类 SQL分为DDL.DML(DQ ...
- MySQL SQL模式匹配
MySQL提供标准的SQL模式匹配,SQL模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零字符).. 关于SQL模式匹配:http://dev.mysql.com/doc/r ...
- 更好的 SQL 模式的 10 条规则
更好的 SQL 模式的 10 条规则 2015-06-17 11:57:392353浏览1评论 在创建新表和数据仓库时,要做很多决定.一些在当时似乎无关紧要的地方,却让你和用户在数据库的生命期内感到痛 ...
- mysql sql语句大全(转载)
1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 ...
- SQL语句详细汇总
SQL语句详细汇总 | 浏览:3061 | 更新:2013-06-10 19:50 一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 d ...
随机推荐
- Git .gitignore文件忽略
Git .gitignore文件忽略 学习了:http://blog.csdn.net/yonnangel/article/details/50115059 http://www.cnblogs.co ...
- 新安装的wampserver怎么使用本机已有的mysql作为数据库
一般在一台没有安装mysql的机器上安装好wamp后,能够直接在wamp的phpMyAdmin中打开集成的mysql并设置用户信息. 而假设之前已经安装配置好mysql(实usernamepasswo ...
- 去掉文本框前后的空格(JS+JQuery)
表单验证时,需要去除文本框前后的空格才可以正确通过验证.以前看到过一句话:任何设计和代码都要对用户足够宽容. <input type="text" class="p ...
- eclipse配置默认的jdk
1.window-preferences-java-Installed JREs-Add-Standard VM-[添加jre6或jre7的路径]
- python为在线漫画站点自制非官方API(未完待续)
接下来将记录我一步一步写一个非官方API的过程,由于一些条件的约束,最后的成品可能非常粗暴简陋 如今介绍要准备的全部工具: 系统:ubuntu 14.04 语言:python 2.7 须要自行安装的库 ...
- [POI 2007] 堆积木
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1109 [算法] DP [代码] #include<bits/stdc++.h& ...
- php json 初始化函数(格式化json字符串为php json_decode 标准的字符串)
$json="[{ 'i':100000, 'u':-1,n: '中国'},{i:100001,u:-1,n:'阿尔巴尼亚'},{i:100002,u:-1,n:'阿尔及利亚',}]&quo ...
- Hdu-6119 小小粉丝度度熊 尺取
题面 题意:在一大段时间里,告诉你,你签到了哪些区间,现在再给你m张补签卡,问你最多能实现连续签到多少天 题解:那些时间区间是有重叠的,所以我们先排序离散,并得到哪些区间是可以补签的,这样问题就变成, ...
- 关于java1.8中LocalDateTime实现日期,字符串互转小坑。
今天无聊,来看了下1.8的时间类型LocalDateTime,当想把字符串转成LocalDateTime的时候报错!! java.time.format.DateTimeParseException: ...
- UI常用网站
网站大全 国外的花瓣--Pinterest • The world’s catalog of ideas 字体海洋--求字体网提供中文和英文字体库下载.识别与预览服务,找字体的好帮手 原创设计UI-- ...