讓我們了解 MySQL 如何處理約束 –
MySQL 幫助我們處理事務(wù)表(允許回滾)和非事務(wù)表(不允許回滾)回滾)。這就是 MySQL 與其他 DBMS 相比處理約束不同的原因。在非事務(wù)性數(shù)據(jù)庫中,如果插入或更新多行時發(fā)生錯誤,則無法回滾。這種情況必須以正確的方式處理。
在解析需要執(zhí)行的語句時,MySQL Server 會為其檢測到錯誤的查詢生成錯誤。一旦檢測到錯誤,它就會在執(zhí)行語句時嘗試從錯誤中恢復(fù)。目前還沒有對所有語句執(zhí)行此操作。
MySQL 可以在中間停止語句,也可以在發(fā)生錯誤時從中恢復(fù)并繼續(xù)。默認(rèn)情況下,服務(wù)器會從中恢復(fù)并繼續(xù)。
外鍵允許跨表的數(shù)據(jù)交叉引用,外鍵約束有助于確保這種分散的數(shù)據(jù)保持一致。
外鍵引用
MySQL 在 CREATE TABLE 和 ALTER TABLE 語句中支持 ON UPDATE 和 ON DELETE 外鍵引用。
引用操作
可用的引用操作有- RESTRICT、CASCADE、SET NULL 和 NO ACTION。
NO ACTION 是默認(rèn)引用操作。
ENUM
ENUM 值必須是以下值:在列定義中列出,或等效的內(nèi)部數(shù)字。該值不能是錯誤值(0 或空字符串)。
對于定義為 ENUM(‘a’,’b’,’c’) 的列,除 ‘a’、’b’ 或 ‘c’ 以外的值,例如 ”、’d’ 或 ‘ax ‘ 被視為無效并被拒絕。
以上就是MySQL 如何處理約束?的詳細(xì)內(nèi)容,更多請關(guān)注www.92cms.cn其它相關(guān)文章!