婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > mysql中的sql_mode模式實(shí)例詳解

mysql中的sql_mode模式實(shí)例詳解

熱門標(biāo)簽:走過哪個(gè)省地圖標(biāo)注 安徽ai電話電銷機(jī)器人有效果嗎 常州網(wǎng)絡(luò)外呼系統(tǒng)開發(fā) 400電話申請(qǐng)信用卡 在哪里申請(qǐng)400電話 萊西市地圖標(biāo)注 外呼系統(tǒng)電銷受騙 銷售語音電話機(jī)器人 巫師三血與酒地圖標(biāo)注

本文實(shí)例講述了mysql中的sql_mode模式。分享給大家供大家參考,具體如下:

mysql數(shù)據(jù)庫的中有一個(gè)環(huán)境變量sql_mode,定義了mysql應(yīng)該支持的sql語法,數(shù)據(jù)校驗(yàn)等!我們可以通過以下方式查看當(dāng)前數(shù)據(jù)庫使用的sql_mode:

mysql> select @@sql_mode;
+----------------------------------------------------------------+
| @@sql_mode                           |
+----------------------------------------------------------------+
| STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------+

mysql5.0以上版本支持三種sql_mode模式

ANSI模式

寬松模式,對(duì)插入數(shù)據(jù)進(jìn)行校驗(yàn),如果不符合定義類型或長(zhǎng)度,對(duì)數(shù)據(jù)類型調(diào)整或截?cái)啾4妫瑘?bào)warning警告。

TRADITIONAL模式

嚴(yán)格模式,當(dāng)向mysql數(shù)據(jù)庫插入數(shù)據(jù)時(shí),進(jìn)行數(shù)據(jù)的嚴(yán)格校驗(yàn),保證錯(cuò)誤數(shù)據(jù)不能插入,報(bào)error錯(cuò)誤。用于事物時(shí),會(huì)進(jìn)行事物的回滾。

STRICT_TRANS_TABLES模式

嚴(yán)格模式,進(jìn)行數(shù)據(jù)的嚴(yán)格校驗(yàn),錯(cuò)誤數(shù)據(jù)不能插入,報(bào)error錯(cuò)誤。

 

1 ANSI模式

在ANSI模式下,當(dāng)我們插入數(shù)據(jù)時(shí),未滿足列長(zhǎng)度要求時(shí),數(shù)據(jù)同樣會(huì)插入成功,但是對(duì)超出列長(zhǎng)度的字段進(jìn)行截?cái)啵瑫r(shí)報(bào)告warning警告。

mysql> set @@sql_mode=ANSI;
Query OK, 0 rows affected (0.00 sec)
mysql> create table test(name varchar(4), pass varchar(4));
Query OK, 0 rows affected (0.03 sec)
mysql> insert into test values('aaaaa','aaaaa'),('bbbb','bbbb');
Query OK, 2 rows affected, 2 warnings (0.02 sec)
Records: 2 Duplicates: 0 Warnings: 2
mysql> show warnings;
+---------+------+-------------------------------------------+
| Level  | Code | Message                  |
+---------+------+-------------------------------------------+
| Warning | 1265 | Data truncated for column 'name' at row 1 |
| Warning | 1265 | Data truncated for column 'pass' at row 1 |
+---------+------+-------------------------------------------+
2 rows in set (0.00 sec)
mysql> select * from test;
+------+------+
| name | pass |
+------+------+
| aaaa | aaaa |
| bbbb | bbbb |
+------+------+
2 rows in set (0.00 sec)

2 STRICT_TRANS_TABLES模式

在STRICT_TRANS_TABLES模式下,當(dāng)我們插入數(shù)據(jù)時(shí),mysql會(huì)嚴(yán)格的進(jìn)行數(shù)據(jù)的校驗(yàn),當(dāng)發(fā)現(xiàn)插入列值未滿足要求,直接報(bào)告error錯(cuò)誤,保證了錯(cuò)誤數(shù)據(jù)無法插入到數(shù)據(jù)庫中。

mysql> set @@sql_mode=STRICT_TRANS_TABLES;
Query OK, 0 rows affected (0.00 sec)
mysql> create table test(name varchar(4), pass varchar(4));
Query OK, 0 rows affected (0.02 sec)
mysql> insert into test values('aaaaa','aaaaa'),('bbbb','bbbb');
ERROR 1406 (22001): Data too long for column 'name' at row 1
mysql> show errors;
+-------+------+------------------------------------------+
| Level | Code | Message                 |
+-------+------+------------------------------------------+
| Error | 1406 | Data too long for column 'name' at row 1 |
+-------+------+------------------------------------------+
1 row in set (0.00 sec)
mysql> select * from test;
Empty set (0.00 sec)

3 TRADITIONAL模式,初看結(jié)果是不是一樣

mysql> set @@sql_mode=TRADITIONAL;
Query OK, 0 rows affected (0.00 sec)
mysql> create table test(name varchar(4), pass varchar(4));
Query OK, 0 rows affected (0.02 sec)
mysql> insert into test values('aaaaa','aaaaa'),('bbbb','bbbb');
ERROR 1406 (22001): Data too long for column 'name' at row 1
mysql> show errors;
+-------+------+------------------------------------------+
| Level | Code | Message                 |
+-------+------+------------------------------------------+
| Error | 1406 | Data too long for column 'name' at row 1 |
+-------+------+------------------------------------------+
1 row in set (0.00 sec)
mysql> select * from test;
Empty set (0.00 sec)

但是,可以看看設(shè)置后的情況

mysql> set @@sql_mode=TRADITIONAL;
Query OK, 0 rows affected (0.00 sec)
mysql> select @@sql_mode\G
*************************** 1. row ***************************
@@sql_mode: STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
1 row in set (0.00 sec)

在TRADITIONAL模式下,對(duì)所有的事務(wù)存儲(chǔ)引擎,非事務(wù)存儲(chǔ)引擎檢查,日期類型中的月和日部分不能包含0,不能有0這樣的日期(0000-00-00),數(shù)據(jù)不能除0,禁止grant自動(dòng)創(chuàng)建新用戶等一些校驗(yàn)。

最后:

set @@只是在sessions級(jí)別設(shè)置的,要想所有的都生效,還是要設(shè)置配置文件

vi /etc/my.cnf

在[mysqld]下面添加如下列:

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#NO_ENGINE_SUBSTITUTION對(duì)于不存在的引擎就報(bào)錯(cuò),不加的話,指定不支持的引擎時(shí)指定默認(rèn)的innodb

另外:sql_mode還有一個(gè)配置ONLY_FULL_GROUP_BY,這個(gè)表示采用group by帥選數(shù)據(jù)的時(shí)候只能查看新組內(nèi)信息

改模式之前的操作

mysql> select * from employee group by post;
+----+--------+--------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+
| id | name  | sex  | age | hire_date | post                  | post_comment | salary   | office | depart_id |
+----+--------+--------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+
| 14 | 張野  | male  | 28 | 2016-03-11 | operation                | NULL     |  10000.13 |  403 |     3 |
| 9 | 歪歪  | female | 48 | 2015-03-11 | sale                  | NULL     |  3000.13 |  402 |     2 |
| 2 | alex  | male  | 78 | 2015-03-02 | teacher                 | NULL     | 1000000.31 |  401 |     1 |
| 1 | egon  | male  | 18 | 2017-03-01 | 老男孩駐沙河辦事處外交大使       | NULL     |  7300.33 |  401 |     1 |
+----+--------+--------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+
4 rows in set (0.00 sec)

此時(shí)的sql_mode:

mysql> select @@sql_mode;
+----------------------------------------------------------------+
| @@sql_mode                           |
+----------------------------------------------------------------+
| STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------+
1 row in set (0.00 sec)

修改一下,退出再進(jìn)入才會(huì)生效

mysql> set global sql_mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,ONLY_FULL_GROUP_BY';
Query OK, 0 rows affected (0.00 sec)
mysql> select @@sql_mode;
+----------------------------------------------------------------+
| @@sql_mode                           |
+----------------------------------------------------------------+
| STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> exit
Bye

再次進(jìn)入

mysql> select @@sql_mode;
+-----------------------------------------------------------------------------------+
| @@sql_mode |
+-----------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+-----------------------------------------------------------------------------------+
1 row in set (0.00 sec)

下面查看修改后的查看結(jié)果

mysql> select * from employee group by post;  //只能查看post
ERROR 1055 (42000): 't1.employee.id' isn't in GROUP BY
mysql> select post from employee group by post;
+-----------------------------------------+
| post                  |
+-----------------------------------------+
| operation                |
| sale                  |
| teacher                 |
| 老男孩駐沙河辦事處外交大使       |
+-----------------------------------------+
4 rows in set (0.00 sec)
mysql> select id,post from employee group by post;
ERROR 1055 (42000): 't1.employee.id' isn't in GROUP BY
mysql> select name,post from employee group by post,name; //根據(jù)group by 后面的選擇查看
+------------+-----------------------------------------+
| name | post |
+------------+-----------------------------------------+
| 張野 | operation |
| 程咬金 | operation |
| 程咬鐵 | operation |
| 程咬銅 | operation |
| 程咬銀 | operation |
| 丁丁 | sale |
| 丫丫 | sale |
| 星星 | sale |
| 格格 | sale |
| 歪歪 | sale |
| alex | teacher |
| jingliyang | teacher |
| jinxin | teacher |
| liwenzhou | teacher |
| wupeiqi | teacher |
| xiaomage | teacher |
| yuanhao | teacher |
| egon | 老男孩駐沙河辦事處外交大使 |
+------------+-----------------------------------------+
18 rows in set (0.00 sec)

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫計(jì)有所幫助。

您可能感興趣的文章:
  • MySQL sql_mode修改不生效的原因及解決
  • 詳解MySQL的sql_mode查詢與設(shè)置
  • MySQL中SQL Mode的查看與設(shè)置詳解
  • Django2 連接MySQL及model測(cè)試實(shí)例分析
  • 關(guān)于MySQL的sql_mode合理設(shè)置詳解
  • MySQL關(guān)于sql_mode解析與設(shè)置講解
  • MySQL5.7中的sql_mode默認(rèn)值帶來的坑及解決方法
  • MySql版本問題sql_mode=only_full_group_by的完美解決方案
  • 解決MySQL 5.7.9版本sql_mode=only_full_group_by問題
  • Mysql之SQL Mode用法詳解
  • mysql sql_mode="" 的作用說明
  • MySQL sql_mode的使用詳解

標(biāo)簽:河北 煙臺(tái) 黃石 陽江 赤峰 來賓 果洛 鞍山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql中的sql_mode模式實(shí)例詳解》,本文關(guān)鍵詞  mysql,中的,sql,mode,模式,實(shí)例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql中的sql_mode模式實(shí)例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于mysql中的sql_mode模式實(shí)例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩精品中午字幕| 亚洲国产一区二区三区青草影视| 国产精品美女久久福利网站| 欧美精品一区二区三区蜜臀| 国产精品久久久久天堂| 亚洲成在人线免费| 国产美女视频91| 色综合久久精品| 欧美一区二区三区免费在线看| 精品免费一区二区三区| 一区二区高清免费观看影视大全| 久久精品国产77777蜜臀| 成人精品一区二区三区四区| 日韩一级高清毛片| 欧美老女人第四色| 综合久久综合久久| 国产综合色产在线精品| 在线视频一区二区三| 日本一区二区三区高清不卡 | 亚洲久草在线视频| 麻豆91小视频| 欧美精品日韩一本| 亚洲激情网站免费观看| 国产成人精品免费视频网站| 日韩欧美区一区二| 亚洲色图20p| 99国产精品国产精品久久| 精品国产在天天线2019| 日韩国产精品久久久| 在线观看视频一区二区| 亚洲人成伊人成综合网小说| 国产福利91精品| 88在线观看91蜜桃国自产| 亚洲精品免费在线观看| 99久久久久久| 亚洲欧美日韩一区二区| gogogo免费视频观看亚洲一| 国产欧美日韩不卡| 久久国产综合精品| 欧美大片国产精品| 精品一区二区久久| 久久精品水蜜桃av综合天堂| 国产在线精品一区二区不卡了 | 不卡的av电影| 久久久综合视频| 国产福利精品一区| 国产日韩欧美在线一区| 风间由美一区二区三区在线观看| 精品一区二区三区免费| 精品国精品国产尤物美女| 激情综合网激情| 国产女同性恋一区二区| 天堂午夜影视日韩欧美一区二区| 欧美日韩不卡在线| 免费观看91视频大全| 精品免费国产一区二区三区四区| 国产精品亚洲综合一区在线观看| 国产女同互慰高潮91漫画| av爱爱亚洲一区| 精品欧美一区二区久久| www.亚洲精品| 亚洲午夜精品网| 日韩视频免费观看高清完整版 | 91.xcao| 天天色天天爱天天射综合| 激情av综合网| 中文字幕亚洲区| 欧美二区在线观看| 国产精品一线二线三线| 亚洲乱码精品一二三四区日韩在线| 欧美色成人综合| 国产呦萝稀缺另类资源| 亚洲网友自拍偷拍| 久久久精品蜜桃| 欧美在线免费观看亚洲| 久久国产综合精品| 亚洲综合久久av| 欧美成人精精品一区二区频| 色哟哟欧美精品| 捆绑调教一区二区三区| 亚洲精品中文在线影院| 色综合网色综合| 国产麻豆一精品一av一免费 | 99精品欧美一区| 日韩av一二三| 一区二区视频在线| 国产无遮挡一区二区三区毛片日本| 在线观看日韩av先锋影音电影院| 国产精品亚洲专一区二区三区| 精品国产髙清在线看国产毛片 | 亚洲精品一区二区三区精华液| 国产在线看一区| 午夜激情一区二区| 综合在线观看色| 国产视频一区二区在线观看| 欧美日韩一区二区三区四区五区| 99精品国产热久久91蜜凸| 国产精品一区二区在线看| 亚洲欧美日韩中文播放| 国产日韩精品一区二区浪潮av| 7777女厕盗摄久久久| 在线看不卡av| 91免费在线视频观看| 不卡一区中文字幕| 亚洲成a人在线观看| 亚洲免费观看视频| 国产一区视频导航| 欧美色图12p| 欧美极品少妇xxxxⅹ高跟鞋| 五月综合激情网| 99久久精品情趣| 日韩一级片在线观看| 亚洲图片你懂的| 国产一区二区三区电影在线观看| 欧美亚洲动漫精品| 中文字幕亚洲电影| 国产一区二区三区| 欧美日本在线观看| 亚洲乱码国产乱码精品精可以看| 国产精品99久久久久久久女警 | 国产91丝袜在线观看| 欧美日韩精品一区二区三区蜜桃| 国产精品全国免费观看高清 | 欧美v日韩v国产v| 亚洲国产综合色| 色综合一个色综合亚洲| 国产精品私人影院| 国产麻豆视频一区| 精品国产亚洲一区二区三区在线观看 | 久久久久久久久久久99999| 日日噜噜夜夜狠狠视频欧美人| 色综合久久久久综合体桃花网| 欧美韩国日本不卡| 免费看日韩精品| 欧美一区二区在线免费播放| 亚洲国产欧美在线| 欧美日韩一区二区三区免费看 | 亚洲色图.com| caoporen国产精品视频| 欧美国产精品中文字幕| 成人在线一区二区三区| 中文字幕国产精品一区二区| 成人夜色视频网站在线观看| 国产夜色精品一区二区av| 国产乱码精品一区二区三区av| 久久久久久亚洲综合影院红桃 | 国产不卡在线视频| 国产视频视频一区| 成人小视频在线观看| 国产精品国产三级国产普通话蜜臀| 成人性视频网站| 亚洲精品视频在线看| 欧美性猛交xxxxxx富婆| 亚洲第一精品在线| 欧美一区日韩一区| 国产精品亚洲综合一区在线观看| 国产精品网曝门| 色嗨嗨av一区二区三区| 亚洲午夜免费电影| 欧美高清你懂得| 国产综合一区二区| 亚洲欧美日韩一区二区| 日韩一区二区精品葵司在线 | 成人妖精视频yjsp地址| 亚洲视频狠狠干| 日韩视频一区二区| 91在线视频播放地址| 婷婷综合久久一区二区三区| 欧美精品一区二区久久久| 97精品国产露脸对白| 日韩av在线播放中文字幕| 国产精品免费免费| 欧美美女直播网站| 成人午夜视频在线观看| 亚洲成年人网站在线观看| 久久久精品综合| 欧美精品色一区二区三区| 成人一区二区三区在线观看 | 亚洲福利一二三区| 69堂精品视频| 成人黄色网址在线观看| 国产精品影音先锋| 亚洲欧美综合另类在线卡通| 欧美视频自拍偷拍| 久久99精品国产.久久久久久| 国产精品久久看| 日韩欧美国产高清| 一本大道久久a久久综合| 蜜桃av一区二区三区电影| 亚洲免费高清视频在线| 777色狠狠一区二区三区| 99国产精品久久久久| 亚洲国产精品影院| 国产精品福利一区二区三区| 精品福利一区二区三区| 91在线云播放| 国产成人啪午夜精品网站男同| 青青草91视频| 亚洲国产精品一区二区www在线 | 欧美一激情一区二区三区|