Выберите записи MySQL, которые конфликтуют с предлагаемым уникальным индексом

У меня есть набор записей, к которым я хочу добавить уникальный индекс, однако некоторые существующие записи конфликтуют с этим индексом, поэтому я хочу их идентифицировать и удалить, чтобы можно было наложить ограничение на данные.

Есть ли способ написать запрос SELECT на основе любой записи, которая противоречит уникальному индексу?

Пример:

В таблице есть столбцы

идентификатор | пользователь | id_вопроса | ответ | is_current

Мне нужен уникальный индекс, чтобы

пользователь | id_вопроса | ответ |is_current

не дублируется.

Можно ли ВЫБРАТЬ все записи, в которых этот набор значений не уникален?


person Gideon    schedule 14.08.2015    source источник
comment
выберите отдельного пользователя, question_id, ответ, is_current из имени таблицы   -  person Drew    schedule 14.08.2015


Ответы (1)


Показать неуникальные:

select user,question_id,response,is_current,count(*) as theCount 
from tablename 
group by user,question_id,response,is_current
having theCount>1
person Drew    schedule 14.08.2015
comment
если вы хотите знать, как автоматически запихнуть их в новую таблицу, я тоже это сделаю. Конечно, мне понадобится некоторое руководство о том, как вы хотите, чтобы идентификатор был завершен. - person Drew; 14.08.2015