我正在尝试向数据库中的表 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/