MySQL CHECK 约束:一个被忽略的功能
向 MySQL 表添加自定义 CHECK 约束本质上是不成功的。虽然定义约束似乎是可能的,但它最终什么也没做。此行为源于 MySQL 存储引擎 5.7 版本之前不支持 CHECK 约束。
MySQL 的有限 CHECK 约束支持
正如手册所述,MySQL 解析 CHECK 约束,但忽略了他们。这意味着数据库不会强制执行表模式中定义的任何 CHECK 约束。
解决方法和替代方案
要强制类似于 CHECK 约束的数据完整性,触发器可以被雇用。但是,触发器会带来额外的复杂性和潜在的性能问题。
如果 CHECK 约束对于您的应用程序至关重要,请考虑切换到支持它们的开源 RDBMS,例如 PostgreSQL。 PostgreSQL 提供强大的 CHECK 约束功能,是 MySQL 的绝佳替代品。
以上是为什么 MySQL CHECK 约束被忽略?的详细内容。更多信息请关注PHP中文网其他相关文章!