2013-12-13 4 views
1

я есть таблица для дружбыИзбегайте/удалить повторяющиеся строки в таблице

CREATE TABLE IF NOT EXISTS `friendList` (
    `id` int(10) NOT NULL, 
    `id_friend` int(10) NOT NULL, 
    KEY `id` (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 

У меня есть некоторые записи, как:

входа A: 1-2

ввода B: 2-1

запись C: 1-2

запись в & Б показать, что пользователь 1 друг с пользователь 2. Но запись C бесполезна, поэтому мне нужно ее удалить.

Есть ли способ удалить всю повторяющуюся строку или применить определенное ограничение, чтобы этого избежать?

Спасибо!

+0

что ваша структура таблицы> – sumit

+0

обратитесь к этой ссылке http://stackoverflow.com/questions/4685173/delete-all -duplicate-rows-except-for-one-in-mysql – user2936213

+0

Дело в том, что ключ id не является уникальным и не предназначен. Я искал другое решение, чем добавление уникального первичного ключа, но может быть просто невозможно. Спасибо за ваш ответ. – user3093547

ответ

0

Вы можете добавить уникальный индекс для тех 2 столбцов для обеспечения уникальности:

alter table friendList add unique index(id, id_friend); 
+0

Привет, я хочу, чтобы запись 3-1 или 1-3 была возможной, я просто не хочу две строки с одинаковой xy-парой (x = задано int, y = задано int) – user3093547

+0

Это нормально, поскольку 3-1 не является как 1-3. – Szymon

+1

Да, это сработало, я думаю, что я просто не понял, что такое уникальный индекс. Большое спасибо :) – user3093547

Смежные вопросы