从表中删除数据,通过两个表连接

Der*_*air 10 mysql sql sql-delete

我正在使用一些相当敏感的数据,所以我想绝对确定我做得很好.

我试图删除表中与另一个表关联的行

关联表的唯一方法是通过另外两个表加入......

这是确切的查询:

DELETE tt.Transaction_Amount, tt.Transaction_ID
  FROM ItemTracker_dbo.Transaction_Type tt
  JOIN ItemTracker_dbo.Transaction t ON tt.Transaction_ID = t.Transaction_ID
  JOIN ItemTracker_dbo.Purchase p ON p.Transaction_ID = tt.Transaction_ID
  JOIN ItemTracker_dbo.Item i ON i.Item_ID = p.Item_ID
 WHERE i.Client_ID = 1
Run Code Online (Sandbox Code Playgroud)

如你所见,它并不漂亮.

我通过My​​SQL查询浏览器得到一个奇怪的错误...

MULTI DELETE中的未知表'Transaction_Amount'

我试过阅读mysql手册,看起来这应该对我有用......任何人都有任何想法?

Dav*_*d M 24

您需要删除行而tt不是单个列:

DELETE tt
  FROM ItemTracker_dbo.Transaction_Type tt
  JOIN ItemTracker_dbo.Transaction t ON tt.Transaction_ID = t.Transaction_ID
  JOIN ItemTracker_dbo.Purchase p ON p.Transaction_ID = tt.Transaction_ID
  JOIN ItemTracker_dbo.Item i ON i.Item_ID = p.Item_ID
 WHERE i.Client_ID = 1
Run Code Online (Sandbox Code Playgroud)