私は2つのテーブルを持っています。table1には200万のレコードがあり、table2には1,100万のレコードがあります。table2からtable1を削除したいのですが、MySQLでこれを行うにはどうすればよいですか?ありがとうございました。
質問する
260 次
4 に答える
2
テーブル1のレコードと一致するテーブル2のすべてのレコードを削除したいようです。その場合は、サブクエリを使用できます。あなたが持っているレコードの数でこれがどれほど効率的かはわかりませんが、以下はうまくいくはずです:
DELETE FROM table2 where table2.phonenumber IN (select phonenumber from table1);
于 2012-10-03T19:28:45.367 に答える
1
SELECT Table2.* FROM Table2 JOIN Table1 ON Table2.phone = Table1.phone WHERE Table2.phone is not null
DELETE Table2.* FROM Table2 JOIN Table1 ON Table2.phone = Table1.phone WHERE Table2.phone is not null
于 2012-10-03T19:29:43.783 に答える
1
Delete from table2
where number in (Select number from table1)
于 2012-10-03T19:30:10.640 に答える
0
結合を実行してから、結合から削除してみてください
SELECT tbl1.MyId FROM table1 tbl1
JOIN table2 on tbl1.phonenumber = tb2.phonenumber
次に、そこから削除します
そのような
DELETE FROM Table2 WHERE MyID IN
(SELECT tbl1.MyId FROM table1 tbl1
JOIN table2 on tbl1.phonenumber = tb2.phonenumber)
これはSQLコードであり、mysqlで何が変更されるか正確にはわかりません
幸運を!
于 2012-10-03T19:27:12.713 に答える