我想知道是否可以通过连接5个表来删除数据。我有5个表,即 tbl1,tbl2,tbl3,tbl4,tbl5 ,它们都是名为 transaction_id 的列。是否可以通过JOIN查询删除他们的数据?
答案 0 :(得分:1)
你可以使用连接来实现,但连接会使过程复杂化。
例如: DELETE table1,table2,table3 FROM table1 INNER JOIN table2 INNER JOIN table3 WHERE table1.userid = table2.userid AND table2.userid = table3.userid AND table1.userid = 3
另一种方法是使用ON DELETE CASCADE选项在表上定义外键约束。然后从父表中删除记录将从子表中删除记录。
答案 1 :(得分:0)
试试这个,
DELETE FROM tbl1
USING tbl1, tbl2,tbl3,tbl4,tbl5
WHERE tbl1.transaction_id = tbl2.transaction_id AND tbl3.transaction_id = tbl1.transaction_id AND tbl4.transaction_id = tbl1.transaction_id AND tbl5.transaction_id = tbl1.transaction_id AND WHERE tab1.transaction_id = yourid;