MySQL學習日記(六)-數(shù)據(jù)越界處理

默認情況下,MySQL按照以下規(guī)則處理“數(shù)據(jù)越界”和其他非正常數(shù)據(jù)

1攻臀、對于數(shù)值數(shù)據(jù)或time數(shù)據(jù)列轰传,超出合法范圍的值將被階段到最近的取值范圍邊界幔嫂;

2辆它、對于字符串數(shù)據(jù)列(不包括enum、set)太長的字符串將被截斷到數(shù)據(jù)列的最大長度履恩,對于

?? ENUM類型數(shù)據(jù)锰茉,MySQL將不合法成員用空字符串代替。如果賦值給某個set數(shù)據(jù)列包含非法子字符串切心,那mysql會刪除那些子字符串并把剩下的賦值給該數(shù)據(jù)列

3飒筑、對于日期和時間數(shù)據(jù)列,非法數(shù)值會被轉換成‘0’值替代

當發(fā)生上述情況的時候绽昏,MySQL會生成警告协屡, 可使用 show warnings 查看。

4全谤、對于字符串序列肤晓,太長的字符串將被截短到數(shù)據(jù)列的最大長度

如果需要在插入或更新數(shù)據(jù)時進行更嚴格的檢查,可以啟用特殊的SQL MODE;

sql_mode='strict_all_tables,strict_trans_tables'

對于支持事務的表认然,這兩種模式是一樣的:如果發(fā)現(xiàn)某個值缺失或非法补憾,MySQL將拋出錯誤,語句會停止運行并回滾季眷。

對于不支持事務的表余蟹,這兩種模式的效果:

1卷胯、如果在插入或修第一個數(shù)據(jù)行時就發(fā)現(xiàn)某個值非法或缺失子刮,那該語句直接拋錯,語句停止執(zhí)行窑睁。這個和支持事務的數(shù)據(jù)表行為時一樣的挺峡。

2、如果在插入或修改第n個(n>1)數(shù)據(jù)行時才發(fā)現(xiàn)錯誤担钮,那就會出現(xiàn)下面的情況:

?? 2.1 在strict_all_tables模式下橱赠,停止語句執(zhí)行,存在部分更新的問題

?? 2.2 在strict_trans_tables模式下箫津,MySQL將繼續(xù)執(zhí)行該語句避免“部分更新問題”狭姨,對每個非法值將其轉換為最接近的合法值宰啦。

配合嚴格模式的其他幾個SQL模式:

ERROR_FOR_DIVISION_BY_ZERO: 在嚴格模式下,遇到以0為除數(shù)的情況饼拍,拒絕插入數(shù)據(jù)庫赡模,(如果不在嚴格模式下,MYSQL將生成一條告警师抄,并插入NULL值)

NO_ZERO_DATE:在嚴格模式下漓柑,拒絕0日期值進入數(shù)據(jù)庫。

建議采用:strict_trans_tables ERROR_FOR_DIVISION_BY_ZERO

制止錯誤的另一個辦法是在insert或update語句里使用IGNORE關鍵字叨吮,使非法值而導致的錯誤弱化為一個警告辆布。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市茶鉴,隨后出現(xiàn)的幾起案子锋玲,更是在濱河造成了極大的恐慌,老刑警劉巖涵叮,帶你破解...
    沈念sama閱讀 212,294評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嫩絮,死亡現(xiàn)場離奇詭異,居然都是意外死亡围肥,警方通過查閱死者的電腦和手機剿干,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來穆刻,“玉大人置尔,你說我怎么就攤上這事∏馕埃” “怎么了榜轿?”我有些...
    開封第一講書人閱讀 157,790評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長朵锣。 經(jīng)常有香客問我谬盐,道長,這世上最難降的妖魔是什么诚些? 我笑而不...
    開封第一講書人閱讀 56,595評論 1 284
  • 正文 為了忘掉前任飞傀,我火速辦了婚禮,結果婚禮上诬烹,老公的妹妹穿的比我還像新娘砸烦。我一直安慰自己,他們只是感情好绞吁,可當我...
    茶點故事閱讀 65,718評論 6 386
  • 文/花漫 我一把揭開白布幢痘。 她就那樣靜靜地躺著,像睡著了一般家破。 火紅的嫁衣襯著肌膚如雪颜说。 梳的紋絲不亂的頭發(fā)上购岗,一...
    開封第一講書人閱讀 49,906評論 1 290
  • 那天,我揣著相機與錄音门粪,去河邊找鬼藕畔。 笑死,一個胖子當著我的面吹牛庄拇,可吹牛的內(nèi)容都是我干的注服。 我是一名探鬼主播,決...
    沈念sama閱讀 39,053評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼措近,長吁一口氣:“原來是場噩夢啊……” “哼溶弟!你這毒婦竟也來了?” 一聲冷哼從身側響起瞭郑,我...
    開封第一講書人閱讀 37,797評論 0 268
  • 序言:老撾萬榮一對情侶失蹤辜御,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后屈张,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體擒权,經(jīng)...
    沈念sama閱讀 44,250評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,570評論 2 327
  • 正文 我和宋清朗相戀三年阁谆,在試婚紗的時候發(fā)現(xiàn)自己被綠了碳抄。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,711評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡场绿,死狀恐怖剖效,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情焰盗,我是刑警寧澤璧尸,帶...
    沈念sama閱讀 34,388評論 4 332
  • 正文 年R本政府宣布,位于F島的核電站熬拒,受9級特大地震影響爷光,放射性物質發(fā)生泄漏。R本人自食惡果不足惜澎粟,卻給世界環(huán)境...
    茶點故事閱讀 40,018評論 3 316
  • 文/蒙蒙 一蛀序、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捌议,春花似錦哼拔、人聲如沸引有。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,796評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽譬正。三九已至宫补,卻和暖如春檬姥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背粉怕。 一陣腳步聲響...
    開封第一講書人閱讀 32,023評論 1 266
  • 我被黑心中介騙來泰國打工健民, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贫贝。 一個月前我還...
    沈念sama閱讀 46,461評論 2 360
  • 正文 我出身青樓秉犹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親稚晚。 傳聞我的和親對象是個殘疾皇子崇堵,可洞房花燭夜當晚...
    茶點故事閱讀 43,595評論 2 350

推薦閱讀更多精彩內(nèi)容