mysql sql模式_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模式。无效的数据值被拒绝。
严格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 SQL模式特点汇总相关推荐
- mysql完成未完成_MYSQL SQL模式 (未完成)
设置和查询SQL模式 通过修改sql_mode变量的值来改变SQL模式. SQL模式可以在全局级别下设置,也可以在会话级别下设置.在数据库启动时和数据库运行时都可以对sql_mode的值进行修改. 在 ...
- mysql 慢查询sql实例_Mysql sql慢查询监控脚本代码实例
1.修改my.cnf #整体的效果,全局开启表和日志文件都写,但是对于general_log只写表,对于slow_query_log,表和日志文件都记录. general_log=1#开启mysql执 ...
- mysql %和正则_mysql 正则模式和like模糊查询
MySql like模糊查询使用详解 一.SQL的模式匹配允许你使用"_"匹配任何单个字符,而"%"匹配任意数目字符(包括零个字符).在 MySQL中,SQL的 ...
- mysql双主复制模式_mysql复制模式第二部分-----双主模式
双主配置 我在配置主从服务器时,使用了两台服务器:10.19.34.126和10.19.34.91. 1.首先需要在这两台上搭建单独的mysql服务masterA和masterB. 2.配置数据库ma ...
- mysql候选关键字_MySQL——(SQL语句)
关系型数据库设计范式: 第一范式:当关系模式R的每个关系属性都是不可分的数据项,那么就成R是第一范式的模式(1NF) 简单说法:字段是原子性的 第二范式:党关系模式R是2NF,且关系模式R(U,F)中 ...
- mysql 严格模式_MySQL: 严格模式
设置严格模式 为当前会话设置严格模式: 执行SET sql_mode = 'STRICT_TRANS_TABLES' 或者SET sql_mode = 'STRICT_ALL_TABLES'. 全局设 ...
- mysql 主从有哪几种模式_mysql 主从模式总结(一)
1. 主从模式的部署步骤 目标:部署一个有3台主机的单主模式的MySQL分组. Primary:192.168.197.110. Secondary:192.168.197.111. Secondar ...
- Mysql的sql注入_MySQL SQL注入
如果通过网页需要用户输入一些数据信息,并将其插入到MySQL数据库,这是一个引入SQL注入安全问题的机会.这一节将学习如何防止这种情况的发生,并帮助保护脚本和MySQL语句. 通常注入是在当要求用户输 ...
- mysql解释器优化_MySQL——SQL性能分析优化利器之Explain
系统性能的优劣取决于我们sql的查询速度,MySQL Explain命令是分析SQL性能及优化不可缺少的一部分. Explain被我们称为解释器,通过 explain 我们可以知道以下信息:表的读取顺 ...
最新文章
- c++ map 析构函数_C++学习刷题6--C++类的使用:构造函数、析构函数和类的使用
- 重新精读《Java 编程思想》系列之public,protected,private与无修饰符权限的区别...
- 如何用我python抓取关键字新闻_用python机器学习实现新闻关键词的抽取
- m_Orchestrate learning system---二十、如何写代码不容易犯错
- Python初学者选择集成开发环境的原则!可以从以下几个方面着手
- TensorFlow2-迁移学习
- php获取蓝凑云文件列表,php调用蓝奏云下载接口
- (2014年3月1)Ubuntu 14.04 Beta 1-32位简体中文优化定制版
- CentOS7下 libvirt+virt-manager 虚拟机迁移配置及错误处理
- python将图片转换成二进制文本逻辑_将python图片转为二进制文本的实例
- 在线计算机辅助翻译软件,科学网—计算机辅助翻译软件OmegaT - 李继存的博文
- JS验证通过之后才提交表单
- 多文件自平衡云传输 (一) 资源篇 —————— 开开开山怪
- 狂野飙车8:极速凌云 for Mac v1.0.2 Asphalt 8 好玩的赛车游戏
- 软件项目管理-——project 2019 专业版
- 使用YYLabel匹配连接
- linux系统写一个计划任务并执行,Linux系统计划任务
- (2022年12月最新)SpringBoot远程代码执行whitelabel error page SpEL RCE漏洞复现
- 【Comet OJ - 2019国庆欢乐赛 F】 高速公路
- 计算机软件过期黑屏怎么办,Adobe flashplayer过期怎么办