2013-02-19 70 views
0

我正在嘗試向我的數據庫中的ORDERS和RESULTS表添加一個檢查約束,但MYSQL不會接受斷言。我如何編輯這個適合MYSQL的接受語法?可以用ALTER TABLE來完成嗎?在MYSQL中添加沒有「創建斷言」的檢查約束條件

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

MySQL既不支持斷言(也不支持DBMS)也不支持約束 – 2013-02-19 21:00:55

回答

1

MySQL不支持檢查約束,所以它們將被忽略。查看MySQL Doc查看允許的語法。您可以嘗試使用觸發器,而不是在插入/更新時檢查插入的數據!