mysql 學習之 SQL mode

查詢當前的模式:

SELECT @@sql_mode


通過設置sql_mode變量更改模式:

SET[SESSION|GLOBAL]sql_mode='modes'

設置 GLOBAL變量時需要擁有SUPER權限,並且會影響從那時起連接的所有客戶端的操作。設置SESSION變量隻影響當前的客戶端。任何客戶端可以隨時更改自己的會話 sql_mode值。



說明:如果把sql_mode的值設置成後面的兩個值(也就是我們說的嚴格模式),那麼當在列中插入或更新不正確的值時,mysql將會給出錯誤,並且放棄insert/update操作。在我們的一般應用中建議使用這兩種模式,而不是使用默認的空或ANSI模式。但是需要注意的問題是,如果數據庫運行在嚴格模式下,並且你的存儲引擎不支持事務,那麼有數據不一致的風險存在,比如一組sql中有兩個dml(數據操縱語言)語句,如果後面的一個出現了問題,但是前面的已經操作成功,那麼mysql並不能回滾前面的操作。




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