mysql - 在MYSQL中添加不带 "create assertion"的检查约束

标签 mysql sql constraints

我正在尝试向数据库中的表 ORDERS 和 RESULTS 添加检查约束,但 MYSQL 不接受断言。我如何编辑它以适应 MYSQL 接受的语法?可以用 ALTER TABLE 来完成吗?

CREATE ASSERTION
CHECK (NOT EXISTS SELECT * FROM ORDERS, RESULTS, 
WHERE ORDERS.ORDER_NUMBER = RESULTS.ORDER_NUMBER 
AND ORDERS.ORDER_DATE > RESULTS.DATE_REPORTED);

最佳答案

MySQL 不支持检查约束,因此它们将被忽略。看MySQL Doc查看允许的语法。您可以尝试使用触发器来代替在插入/更新时检查插入的数据!

关于mysql - 在MYSQL中添加不带 "create assertion"的检查约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14966269/

相关文章:

mysql - 最后排序空值

重新加载页面的php脚本

mysql - 修改查询以使用新表代替静态数字范围

c++ - 如何检查 SQL 查询对于使用 ADO 编写是否有效?

c# - 如何定义实现接口(interface)并约束类型参数的泛型类?

mysql - H2 是否支持单个列的排序规则定义?

sql - 根据条件从sql中的多行中选择一行

javascript - 使用AJAX请求json类型的列表数据,从chart.js动态输出到气泡图中

sql - 无法在 SQL 中正确获取此表和约束

sql-server-2008 - 删除表中的所有约束