好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > MySQL decimal unsigned更新負數(shù)轉化為0

MySQL decimal unsigned更新負數(shù)轉化為0

熱門標簽:沃克斯電梯外呼線路圖 地圖標注被騙三百怎么辦 福州呼叫中心外呼系統(tǒng)哪家好 400電話鄭州申請 云南語音外呼系統(tǒng)平臺 天智外呼系統(tǒng) 房產智能外呼系統(tǒng)品牌 常州電銷外呼系統(tǒng)一般多少錢 北京人工外呼系統(tǒng)價錢

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

這時需要先了解 sql_mode

MySQL服務器可以以不同的SQL模式來操作,并且可以為不同客戶端應用不同模式。這樣每個應用程序可以根據(jù)自己的需求來定制服務器的操作模式。模式定義MySQL應支持哪些SQL語法,以及應執(zhí)行哪種數(shù)據(jù)驗證檢查。這樣可以更容易地在不同的環(huán)境中使用MySQL,并結合其它數(shù)據(jù)庫服務器使用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

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

  TRADITIONAL

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

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

  以下是 STRICT_TRANS_TABLES 和 STRICT_ALL_TABLES 兩種模式的區(qū)別:

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

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

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

  其他模式還有:

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

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

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

  HIGH_NOT_PRECEDENCE:啟用后,可獲得以前舊版本的優(yōu)先級:

  NO_AUTO_CREATE_USER:禁止GRANT創(chuàng)建密碼為空的用戶。

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

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

  NO_DIR_IN_CREATE:在創(chuàng)建表時忽略所有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中出現(xiàn),那么這句SQL是不合法的。

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

  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中decimal數(shù)據(jù)類型小數(shù)位填充問題詳解
  • 淺談MySQL中float、double、decimal三個浮點類型的區(qū)別與總結
  • 深入分析MySQL數(shù)據(jù)類型 DECIMAL
  • MySQL中decimal類型用法的簡單介紹
  • 詳解MySQL數(shù)據(jù)類型DECIMAL(N,M)中N和M分別表示的含義
  • MySQL數(shù)據(jù)類型中DECIMAL的用法實例詳解
  • MySQL中Decimal類型和Float Double的區(qū)別(詳解)
  • MySQL數(shù)據(jù)類型DECIMAL用法詳解

標簽:鹽城 珠海 拉薩 沈陽 移動 徐州 黔東 沈陽

巨人網(wǎng)絡通訊聲明:本文標題《MySQL decimal unsigned更新負數(shù)轉化為0》,本文關鍵詞  MySQL,decimal,unsigned,更新,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL decimal unsigned更新負數(shù)轉化為0》相關的同類信息!
  • 本頁收集關于MySQL decimal unsigned更新負數(shù)轉化為0的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 青春娱乐盛宴免费观看全集在线| 精品国产日韩欧美一区二区三区| 老师好大好硬我想要了| 女子全员怀孕计划| 互攻+爽哭+玩弄+跪趴+调教| 亚洲成年人电影在线观看| 男人皇宫◆亚洲努力打造987| 欧美激情欧美啪欧美照片| 操美女免费视频| a级成人毛片免费视频高清| 好 舒服 好 粗 好硬视频| 《禁忌6》伦理| 成年女人免费| 国产高清好大好夹受不了了 | 国模欢欢炮交150视频| 久久综合免费视频| 717电影网good理论片暴走| 狠狠插狠狠操| 摸腿吻胸床震全身光视频| 桃色91污污污永久入口| 哺乳溢出羽月希中文字幕| 黄色性生活片| 5g影视天天5g天天爽软件特色 | 久久精品中文字幕一区| 撅着光屁屁被先生姜罚| 鞠婧祎ai智能人脸替换造梦| 久久精品亚洲日本波多野结衣主演| 精品欧美男男videos| 日韩理论片在线观看| 最新国产美女肝交视频播放| 7777788888澳门管家婆| 99久re热视频精品98| 久久噜噜噜精品国产亚洲综合| 欧美黑人乱大交BD| 人人妻人人澡人人爽人人sex性色 国产AⅤ无码旗袍丝袜美腿在线看 | 成人手机在线视频| 9lPORNY九色9l自拍视频| 无遮挡在线| 欧美二级片| 91亚洲精品福利在线播放| 国产精品综合在线观看|