我很猶豫要運行此查詢刪除數據(顯而易見的原因)。從兩個表中刪除數據,基於第三個ID
我想從兩個表中,刪除匹配的行,其中所述ID =第三表的ID(我想保持不受影響)
這是我想運行的精確查詢:
DELETE FROM ItemTracker_dbo.Transaction t,
ItemTracker_dbo.Purchase p
USING ItemTracker_dbo.Transaction
INNER JOIN ItemTracer_dbo.Purchase ON p.Transaction_ID = t.Transaction_ID
INNER JOIN ItemTracker_dbo.Item i ON i.Item_ID = p.Item_ID
WHERE i.Client_ID = 1
爲了測試這一點,我想運行一個選擇與SELECT * FROM
更換DELETE FROM
,我得到一個語法錯誤「附近使用」。當我刪除USING ...
時,它會選擇表中的每一行(忽略client_id=1
子句)。
我(基本上)從mysql manual(顯然替換值)複製語法。
該查詢是否有效?
您是否嘗試過在你的測試數據庫運行呢?你確實有一個,對吧? – 2010-01-05 21:52:24
恐怕不是 - 我(就目前而言)是一名短期合同員工,這是一個巨大的數據庫。 – 2010-01-05 21:55:05
我會建議這= = – 2010-01-05 21:55:58