MySQL CHECK 约束:一个错误的承诺
当尝试在 MySQL 表上定义自定义 CHECK 约束时,您可能会遇到一个特殊问题这让您想知道为什么您的代码失败。本文将阐明这个难题并提供替代解决方案。
当您正确定义状态列的 CHECK 约束并将其值限制为“a”、“d”和“u”时,MySQL 会抛出异常工作中的扳手。尽管存在于表定义中,但 MySQL 根本不支持 CHECK 约束。文档明确指出它们会被所有存储引擎解析但忽略。
缺乏支持使您面临寻找替代方法来强制状态列数据完整性的艰巨任务。一种解决方法是使用触发器,但它们的复杂性可能会令人难以承受。
如果 CHECK 约束对于您的数据库设计至关重要,请考虑将 PostgreSQL 作为可行的替代方案。这个开源 RDBMS 完全支持 CHECK 约束,使其成为维护数据一致性的更可靠选择。
以上是为什么 MySQL CHECK 约束不起作用,有哪些替代方案?的详细内容。更多信息请关注PHP中文网其他相关文章!