MySQL 和检查约束

标签 mysql constraints

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

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

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

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

最佳答案

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

关于MySQL 和检查约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49743085/

相关文章:

mysql - 每天从 MySQL 中提取数据到本地 MySQL 数据库

Xcode 6 自动布局纵向和横向的不同约束

indexing - 不区分大小写的 DB2 UNIQUE 约束

iphone - 更改constraintWithItem中的乘数时无法满足约束

mysql - 查看 MySQL 中的所有表/数据库约束

php - 无法使用 mysqli_query 插入数据库

php - 我们可以在 MODEL [CODIGNITER] 中检查查询是否返回 true 或 false,并根据它执行不同的操作,例如 if else 语句

php - php中db(sql)数据的数值检查和操作不起作用

php - 数据库、字符编码、PDF 和 XML

swift - 如何在 UITabelViewCell 类中访问正确的单元格宽度?