2016-03-27 8 views
0

で同じレコードを削除します。表1私は列<strong>ID</strong>、<strong></strong>、および<strong>B</strong>を持っているMySQLの

ID =オートナンバー、主キー

A =外部キー

B =外部キー

にこのテーブルには、多くの多くのためのものであり、今のところ、カラムIDを無視してみましょう。 私は多くの人から多くの人に重複しているものを削除する必要があります。

例:これらの不要な重複を削除

+----+---+ 
| A | B | 
+----+---+ 
| 1 | 1 | 
| 1 | 2 | 
| 1 | 3 | 
| 2 | 1 | 
+----+---+ 

+----+---+ 
| A | B | 
+----+---+ 
| 1 | 1 | 
| 1 | 2 | 
| 1 | 1 | 
| 1 | 2 | 
| 1 | 3 | 
| 2 | 1 | 
+----+---+ 

電源を入れ、それを。 MySQLのクエリを教えてもらえますか?

答えて

0

任意のサイズの表の場合、表を切り捨ててレコードを再挿入して大量の削除を行う方が高速なことがよくあります。これは、問題のテーブルにプライマリキーがない場合に特に当てはまります。もちろん、

create table temp_table1 as 
    select distinct a, b 
    from table1; 

truncate table table1; 

insert into table1(a, b) 
    select a, b 
    from table1; 

何かを行う前にtable1のコピーを作成 - 念のために:

したがって、私はこのような何かをお勧めします。