2016-03-27 2 views
0

У меня есть столбцы ID, и B. в Table1Удалить идентичные записи в MYSQL

ID = Autonumber, первичный ключ

A = Внешний ключ

B = Внешний ключ

Эта таблица для многих ко многим, и давайте игнорировать столбец ID сейчас. Мне нужно удалить дубликаты от многих моих до многих.

пример:

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

Включите его в

+----+---+ 
| A | B | 
+----+---+ 
| 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, прежде чем делать что-нибудь - на всякий случай.