MySQL SQL mode

常使用的sql_mode值如下表:

Sql_mode值                         描述

ANSI                                  更改語法和行爲,使其更符合標準SQL

STRICT_TRANS_TABLES     如果不能將給定的值插入到事務表中, 則放棄該語句。 對於非事務表,如果值出現在單行語句或多行語句的第1行,則放棄該語句。本節後面給出了更詳細的描述。

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

 

後面兩種模式爲嚴格模式(如果插入或者更新不正確,MySQL將會放棄操作,並報錯), 一般在應用中建議使用。但是如果在嚴格模式下,使用的存儲引擎不支持事務,那麼會有數據不一致的風險。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章