您当前的位置: 首页 >  sql

liaowenxiong

暂无认证

  • 2浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

MySQL数据库模式_SQL模式

liaowenxiong 发布时间:2021-10-09 14:56:48 ,浏览量:2

文章目录
  • 查看 MySQL 当前的 SQL 模式
  • 设置 MySQL 的 SQL 模式
  • SQL 模式介绍
    • TRADITIONAL(传统模式)
    • STRICT(严格模式)
    • ANSI 模式
MySQL 服务器可以以不同的 SQL 模式来操作,并且可以为不同客户端应用不同模式。这样每个应用程序可以根据自己的需求来定制服务器的操作模式。这类模式定义了 MySQL 应支持的 SQL 语法,以及应该在数据上执行何种确认检查。这样,就能在众多不同的环境下、与其他数据库服务器一起更容易地使用 MySQL。

MySQL 常用的有三种 SQL 模式,传统模式、严格模式和 ANSI 模式。MySQL 的 SQL 模式默认为空,该模式为非严格模式。

查看 MySQL 当前的 SQL 模式

可以通过如下命令查看 MySQL 当前的 SQL 模式:

mysql> SHOW GLOBAL VARIABLES LIKE 'sql_mode';
mysql> SELECT @@sql_mode;
设置 MySQL 的 SQL 模式
mysql> SET [GLOBAL|SESSION] sql_mode='modes';

启动 MySQL 时指定 SQL 模式:

[root@htlwk0001host ~]# mysqld --sql-mode="modes"
SQL 模式介绍 TRADITIONAL(传统模式)

该模式的简单描述是当在列中插入不正确的值时“给出错误而不是警告”。注释:一旦发现错误立即放弃INSERT/UPDATE。如果你使用非事务存储引擎,那么出现错误前进行的数据更改不会“回滚”,会导致结果更新“只进行了一部分”。

mysql> SET [GLOBAL|SESSION] sql_mode='TRADITIONAL';
STRICT(严格模式)

如果不能将给定的值插入到表中,则放弃该语句。

严格模式具有两种:STRICT_TRANS_TABLESSTRICT_ALL_TABLES

STRICT_TRANS_TABLES 对支持事务的表实行严格模式;STRICT_ALL_TALBES 在所有表执行严格模式。

mysql> SET [GLOBAL|SESSION] sql_mode='STRICT_TRANS_TABLES';
mysql> SET [GLOBAL|SESSION] sql_mode='STRICT_ALL_TABLES';
ANSI 模式

更改操作的语法和行为,使其更适合标准的SQL。

关注
打赏
1661566967
查看更多评论
立即登录/注册

微信扫码登录

0.0406s