日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MySQL decimal unsigned更新負數轉化為0

瀏覽:313日期:2023-10-08 10:42:11

今天在驗證接口的并發問題時,把之前通過 redis 解決的并發壓力轉移到 mysql 上(redis 在 set 保存數據和數據過期需要去向數據庫獲取時存在時延,會存在空擋造成大并發多插入數據的風險;由于有負載均衡,PHP 的信號量也無法用上,只好利用 mysql 的update 來解決并發,設置索引后速度也不慢,只是會承受壓力)。發現在 update 一個字段(屬性為 decimal unsigned),填入負值不會報錯,會自動轉化為 0。搜索了很久,是 my.cnf 中 STRICT_TRANS_TABLES 搞的鬼。

這時需要先了解 sql_mode

MySQL服務器可以以不同的SQL模式來操作,并且可以為不同客戶端應用不同模式。這樣每個應用程序可以根據自己的需求來定制服務器的操作模式。模式定義MySQL應支持哪些SQL語法,以及應執行哪種數據驗證檢查。這樣可以更容易地在不同的環境中使用MySQL,并結合其它數據庫服務器使用MySQL。你可以用--sql-mode='modes'選項啟動 mysqld 來設置默認SQL模式。如果你想要重設,該值還可以為空(--sql-mode ='')。你還可以在啟動后用SET [SESSION|GLOBAL] sql_mode=’modes’ 語句設置sql_mode變量來更改SQL模式。設置 GLOBAL變量時需要擁有SUPER權限,并且會影響從那時起連接的所有客戶端的操作。設置SESSION變量只影響當前的客戶端。任何客戶端可以隨時更改自己的會話 sql_mode值。

sql_mode 是用逗號(’,’)間隔開的一系列不同的模式。你可以用SELECT @@sql_mode語句查詢當前的模式。默認值是空(沒有設置任何模式)。

主要重要sql_mode值為:

ANSI

更改語法和行為,使其更符合標準SQL。

STRICT_TRANS_TABLES

如果不能將給定的值插入到事務表中,則放棄該語句。對于非事務表,如果值出現在單行語句或多行語句的第1行,則放棄該語句。

TRADITIONAL

Make MySQL的行為象“傳統”SQL數據庫系統。該模式的簡單描述是當在列中插入不正確的值時“給出錯誤而不是警告”。注釋:一旦發現錯誤立即放棄INSERT/UPDATE。如果你使用非事務存儲引擎,這種方式不是你想要的,因為出現錯誤前進行的數據更改不會“滾動”,結果是更新“只進行了一部分”。

本手冊指“嚴格模式”,表示至少STRICT _TRANS_TABLES或STRICT _ALL_TABLES被啟用的模式。

以下是 STRICT_TRANS_TABLES 和 STRICT_ALL_TABLES 兩種模式的區別:

對于事務表,當啟用STRICT_ALL_TABLES或STRICT_TRANS_TABLES模式時,如果語句中有非法或丟失值,則會出現錯誤。語句被放棄并滾動。

對于非事務表,如果插入或更新的第1行出現壞值,兩種模式的行為相同。語句被放棄,表保持不變。如果語句插入或修改多行,并且壞值出現在第2或后面的行,結果取決于啟用了哪個嚴格選項:

對于STRICT_ALL_TABLES,MySQL返回錯誤并忽視剩余的行。但是,在這種情況下,前面的行已經被插入或更新。這說明你可以部分更新,這可能不是你想要的。要避免這點,最好使用單行語句,因為這樣可以不更改表即可以放棄。對于STRICT_TRANS_TABLES,MySQL將非法值轉換為最接近該列的合法值并插入調整后的值。如果值丟失,MySQL在列中插入隱式 默認值。在任何情況下,MySQL都會生成警告而不是給出錯誤并繼續執行語句。

其他模式還有:

ALLOW_INVALID_DATES:不完全對日期合法性作檢查,只檢查月份是否在1~12,日期是否在1~31之間;僅對DATE和DATETIME有效,而對TIMESTAMP無效,因為TIMESTAMP總要求一個合法的輸入。

ANSI_QUOTES:啟用后,不能用雙引號來引用字符串,因為'(雙引號)將被解釋為標識符

ERROR_FOR_DIVISION_BY_ZERO:啟用后,在insert或update過程中,若數據被零除(或MOD(x,0),則產生錯誤,若未啟用,則產生警告,數據被零除時系統返回NULL。

HIGH_NOT_PRECEDENCE:啟用后,可獲得以前舊版本的優先級:

NO_AUTO_CREATE_USER:禁止GRANT創建密碼為空的用戶。

NO_AUTO_VALUE_ON_ZERO:在自增長的列中插入0或NULL將不會是下一個自增長值。

NO_BACKSLASH_ESCAPES:反斜杠''作為普通字符而非轉義字符

NO_DIR_IN_CREATE:在創建表時忽略所有index directory和data directory的選項。

NO_ENGINE_SUBSTITUTION:啟用后,若需要的存儲引擎被禁用或未編譯,則拋出錯誤;未啟用時將用默認的存儲引擎代替,并拋出一個異常。

NO_UNSIGNED_SUBSTRACTION:啟用后,兩個UNSIGNED類型相減返回SIGNED類型。

NO_ZERO_DATE:啟用后,不允許插入“0000-00-00 00:00:00”形如此類的零日期,這將拋出一個錯誤,若未啟用,則可插入但僅會拋出一個警告。

NO_ZERO_IN_DATE:啟用后,不允許月份和日期為零,和 NO_ZERO_DATE一起啟用,如“1999-01-00”將拋出錯誤而非警告。若單獨啟用本項,則會拋出warning,然后插入如“0000-00-00 00:00:00”。

ONLY_FULL_GROUP_BY:對于GROUP BY聚合操作,若select中的列沒有在group by中出現,那么這句SQL是不合法的。

PAD_CHAR_TO_FULL_LENGTH:啟用后,對于CHAR類型將不會截斷空洞數據;

PIPES_AS_CONCAT:將'||'視為連接操作符而非“或運算符”。

REAL_AS_FLOAT:將REAL視為FLOAT的同義詞而非DOUBLE的同義詞。

組合選項:

·ANSI:

REAL_AS_FLOAT、PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、ANSI

·ORACLE:

PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS、NO_AUTO_CREATE_USER、ORACLE

·TRADITIONAL:

STRICT_TRANS_TABLES、STRICT_ALL_TABLES、NO_ZERO_IN_DATE、NO_ZERO_DATE、ERROR_FOR_DIVISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION、TRADITIONAL

·MSSQL:

PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、MSSQL、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS、MSSQL

·DB2:

PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS、DB2

·MYSQL323:

HIGH_NOT_PRECEDENCE、MYSQL323

·MYSQL40:

HIGH_NOT_PRECEDENCE、MYSQL40

·MAXDB:

PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS、NO_AUTO_CREATE_USER、MAXDB

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: MySQL 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品国模一区二区三区| 国产综合婷婷| 亚洲黄页一区| 国产尤物精品| 激情欧美一区二区三区| 欧美一区二区三区激情视频| 999久久久免费精品国产| 中文一区一区三区高中清不卡免费| 福利在线免费视频| 精品日韩视频| 免费日韩视频| 蜜芽一区二区三区| 日韩精品1区2区3区| 国产日韩精品视频一区二区三区| 欧美成人精品一级| 激情不卡一区二区三区视频在线| 日韩av在线播放网址| 国产精品videossex| 国产在线观看91一区二区三区 | 一区二区亚洲精品| 亚洲一区二区三区无吗| 国产色99精品9i| 另类专区亚洲| 免费久久精品视频| 久久99久久久精品欧美| 欧美成a人国产精品高清乱码在线观看片在线观看久| 亲子伦视频一区二区三区| 国产毛片久久| 国产精品亚洲片在线播放| 亚洲欧洲高清| 国产精品试看| 国产毛片久久久| 亚洲国产专区校园欧美| 中文字幕日韩亚洲| 一区二区三区四区日本视频| 亚洲资源在线| 国产传媒在线观看| 蜜臀精品久久久久久蜜臀 | 日本视频一区二区| 日韩精品影视| 欧美亚洲网站| 激情综合自拍| 麻豆91精品视频| 免费精品国产| 欧美日韩亚洲一区三区| 日韩毛片视频| 日本精品国产| 91高清一区| 免费在线观看一区| 蜜臀av亚洲一区中文字幕| 成人精品国产亚洲| 日韩精品久久理论片| 欧美日韩精品一区二区视频| 欧美在线日韩| 亚洲先锋成人| 国产96在线亚洲| 日韩激情一二三区| 2023国产精品久久久精品双| 精品国产乱码久久久| 男人的天堂亚洲一区| 欧美三区四区| 国产aⅴ精品一区二区四区| 日本午夜精品久久久| 在线一区免费| 日韩免费福利视频| 麻豆精品蜜桃视频网站| 一区二区三区四区精品视频| 久久视频一区| 色综合五月天| 国产精品亚洲二区| 亚洲aa在线| 日韩制服丝袜av| 五月婷婷六月综合| 蜜臀国产一区| 国产精品高清一区二区| 亚洲精品无吗| 日本大胆欧美人术艺术动态| 丝袜脚交一区二区| 日韩高清二区| 一区二区三区四区在线看| 国产亚洲高清在线观看| 日韩中文字幕不卡| 国产一区二区三区日韩精品| 久久久久久黄| 国产日韩免费| 福利在线一区| 日韩中文字幕视频网| 精品国产日韩欧美精品国产欧美日韩一区二区三区| 高潮久久久久久久久久久久久久| 欧美精品一线| 日韩精品首页| 天堂av在线| 国产亚洲精品美女久久| 亚洲三级国产| 伊人精品视频| 亚洲综合国产| 神马午夜久久| 日韩成人综合| 成人在线免费观看91| 免费一级欧美片在线观看网站 | 精品九九久久| 久久福利一区| 久久婷婷激情| 欧美精品日日操| 国产一区二区三区四区| 欧美国产日本| 国产精品1区| 久久久久久免费视频| 日韩精选在线| 国产一区二区精品| 免费视频最近日韩| 欧美日韩一二| 鲁大师影院一区二区三区| 9国产精品视频| 国产精品日本一区二区不卡视频| 先锋影音国产一区| 国产精品视频一区二区三区综合 | 美女日韩在线中文字幕| 亚洲久草在线| 亚洲精品亚洲人成在线观看| 色老板在线视频一区二区| 国产精品日韩欧美一区| 国产成人精品一区二区三区免费| 日韩欧美美女在线观看| 蜜臀av国产精品久久久久 | 91久久精品无嫩草影院| 日韩欧美精品| 国产一区二区三区黄网站| 石原莉奈在线亚洲三区| 亚洲男女av一区二区| 久久久精品久久久久久96 | 欧美日本不卡高清| 国产精品va| 国产日韩欧美一区| 欧美视频一区| 日韩av在线播放中文字幕| 午夜影院欧美| 青草综合视频| 国产美女高潮在线| 鲁大师影院一区二区三区| 久久精品99国产国产精| av免费不卡国产观看| 伊人久久亚洲| 国产不卡精品| 久久亚洲精品伦理| 欧美国产另类| 石原莉奈在线亚洲二区| 粉嫩av一区二区三区四区五区| 91精品国产乱码久久久久久久| 伊人精品在线| 麻豆成人av在线| 免播放器亚洲一区| 国产综合色区在线观看| 日本aⅴ精品一区二区三区| 岛国av在线网站| 欧美日本不卡高清| 亚洲一区黄色| 国产精品高清一区二区| 国产精品激情电影| 亚洲一区欧美激情| 精品午夜视频| 日韩成人三级| 欧美日韩视频| 青青青国产精品| 亚洲一级网站| 日韩福利视频一区| 欧美亚洲精品在线| 国产精品亚洲综合在线观看| 韩日一区二区三区| 日韩a一区二区| 国产美女撒尿一区二区| 久久成人亚洲| 激情丁香综合| 日本久久精品| 国产精品久久久一区二区| 石原莉奈在线亚洲三区| 日韩在线精品| 国产精品videossex久久发布 | 国产一区91| 日韩在线不卡| 欧美精品不卡| 青青草精品视频| 最新亚洲国产| 亚洲作爱视频| 久久一级电影| 精品美女在线视频| 国产精品久久久久9999高清| 鲁大师成人一区二区三区 | 精品三级久久久| 日本亚洲三级在线| 国产亚洲精品自拍| 999久久久国产精品| 在线天堂中文资源最新版| 麻豆精品久久| 国产极品久久久久久久久波多结野 | 国产人成精品一区二区三| 日韩精品一区第一页| 香蕉久久99| 亚洲二区精品| 久久中文字幕二区|