6

我继承了一个使用 MySQL 并由 PHP 前端使用的应用程序。编写这个系统的人花了一些相当复杂的长度来确保用户输入的代码是有效的——这意味着这些代码也存在于另一个表中。

当我第一次看到这个时,我想知道为什么他没有使用 CHECK 约束并让 dbms 解决这个问题 - 我看到大量不同的程序实现相同的检查,而不仅仅是 dbms 中的一个地方。然后我发现 MySQL 不支持 Check 约束(严格来说不是这样——它支持语法但只是忽略它)。

有没有办法可以在 MySQL 中实现检查约束?

任何提示、建议等都会很棒。

4

1 回答 1

5

您可以使用触发器实现与它们类似的东西,但 MySQL 本身(版本 8.0.16 之前)不支持 CHECK 约束。不过别担心,它会让你定义它们,然后默默地忽略它们!

于 2009-04-01T16:03:43.403 回答