MySQL CHECK 限制:一個錯誤的承諾
當嘗試在MySQL 表上定義自訂CHECK 限制時,您可能會遇到一個特殊問題這讓您想知道為什麼您的程式碼失敗。本文將闡明這個難題並提供替代解決方案。
當您正確定義狀態列的 CHECK 約束並將其值限制為「a」、「d」和「u」時,MySQL 會拋出異常工作中的扳手。儘管存在於表定義中,但 MySQL 根本不支援 CHECK 約束。文件明確指出它們會被所有儲存引擎解析但忽略。
缺乏支援使您面臨尋找替代方法來強制狀態列資料完整性的艱鉅任務。一種解決方法是使用觸發器,但它們的複雜性可能會令人難以承受。
如果 CHECK 約束對於您的資料庫設計至關重要,請考慮將 PostgreSQL 作為可行的替代方案。這個開源 RDBMS 完全支援 CHECK 約束,使其成為維護資料一致性的更可靠選擇。
以上是為什麼 MySQL CHECK 約束不起作用,有哪些替代方案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!