我很犹豫要运行此查询删除数据(显而易见的原因)。从两个表中删除数据,基于第三个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