2017-09-15 4 views
-1

5つのテーブルを結合してデータを削除できるかどうかを知りたいと思います。私は5つのテーブルすなわちのtbl1、tbl2、tbl3、tbl4、tbl5を持っていて、それらは全てというトランザクション_トランザクションという名前の列です。 JOINクエリでデータを削除することは可能ですか?MySQLは5つのテーブルからデータをすべてまとめて削除します。

+0

は、なぜあなたはしてみてくださいませんか? – Jackowski

+0

ごめんなさい。私はそれをどうやって行うのかについて実際には考えていません。あなたが私にそれをやる方法を手伝ってくれることを願っています。 –

+1

http://www.tech-recipes.com/rx/56823/delete-update-rows-using-inner-join-sql-server/ – Peon

答えて

1

ジョインで行うことはできますが、ジョインはプロセスを複雑にします。

EX: のTABLE1、表2、TABLE1 INNER FROM表3表2インナー表3 WHERE table1.userid = table2.userid AND table2.userid = table3.useridをJOIN JOIN AND table1.userid = 3

DELETEの別の方法これは、ON DELETE CASCADEオプションを使用してテーブルに外部キー制約を定義することができます。親テーブルからレコードを削除すると、子テーブルからレコードが削除されます。 refのための

https://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html#innodb-foreign-key-definitions

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; 
関連する問題