[英]MySQL foreign key using more than one field to reference to a primary key from another table
[英]Deleting from one table where a field on a foreign key is less than value in MySQL
我有一個名為“ order”的數據庫表,該表通過外鍵引用了另一個名為“ delivery”的表。 我需要刪除在特定日期之前修改的交貨,但是直到刪除引用它們的訂單后才能刪除。
因此,我需要刪除在特定日期之前修改交貨的訂單。 我在MySQL中編寫了以下查詢:
DELETE FROM `order`,`delivery` WHERE order.delivery_id = delivery.id AND delivery.modifiedOn < '2016-2-28 23:59:59'
但我收到一個SQL錯誤:
1064-您的SQL語法有誤; 檢查與您的MySQL服務器版本相對應的手冊,以在附近使用正確的語法:“ WHERE order.delivery_id = delivery.id AND delivery.modifiedOn <'2016-'
我之前沒有做過這種查詢,我懷疑我需要在某個地方使用JOIN,但不確定在哪里-任何建議都將不勝感激。
這是您要查找的語法:
DELETE o, d
FROM `order` o JOIN
`delivery` d
ON o.delivery_id = d.id
WHERE d.modifiedOn < '2016-02-29';
筆記:
order
。 它是MySQL中的保留字和SQL中的關鍵字。 Orders
呢? SELECT
查詢中也要使用正確的JOIN
語法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.