2017-02-23 24 views
-2

[у меня есть пользователи таблицы, есть уникальный ключ для использования 5 столбцов для создания уникальный ключ (user_name-email_id-д.р.-PHONE_NO-адрес).]найти дубликат строки в базе данных, если уникальный ключ (col1-col2-col3-col4-col5) построить с помощью 5 столбцов, пятый столбец с нулевым значением по умолчанию

CREATE TABLE `users` (
`id` INT(11) NOT NULL AUTO_INCREMENT, 
`user_name` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8_bin', 
`email_id` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8_bin', 
`dob` DATE NOT NULL, 
`phone_no` BIGINT(20) NOT NULL DEFAULT '0', 
`address` VARCHAR(25) NULL DEFAULT NULL COLLATE 'utf8_bin', 
PRIMARY KEY (`id`), 
UNIQUE INDEX `user_name` (`dob`, `address`, `phone_no`, `user_name`, `email_id`) 
) 

COLLATE='utf8_bin' 
ENGINE=MyISAM 
AUTO_INCREMENT=13 
; 

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

Теперь я хочу проверить дубликаты уникальных ключевых данных в таблице моих пользователей.

id|user_name|email_id|dob|phone_no|address| 
1|roy|[email protected]|42768|9992223|null| 
2|roy|[email protected]|42768|9992223|null| 
3|roy|[email protected]|42768|9992223|null| 
4|roy|[email protected]|42768|9992223|null| 
5|roy|[email protected]|42768|9992223|null| 
6|roy|[email protected]|42768|9992223|null| 
7|me|[email protected]|42797|7897897899|null| 
8|me|[email protected]|42798|7897897900|null| 
9|me|[email protected]|42799|7897897901|null| 
10|me|[email protected]|42800|7897897902|null| 
11|st|[email protected]|42495|1122121212|null| 
12|mr|[email protected]|42129|141414|null| 
13|mr|[email protected]|42129|141414|null| 
14|mr|[email protected]|42129|141414|null| 
15|mr|[email protected]|42129|141414|null| 
16|mr|[email protected]|42129|141414|null| 
17|mr|[email protected]|42129|141414|null| 
18|mr|[email protected]|42129|141414|null| 
19|mr|[email protected]|42129|141414|null| 
20|mr|[email protected]|42129|141414|null| 
+2

Уникальные ключевые данные никогда не будут иметь дубликаты –

+0

[ответы здесь дб агностик] (http://stackoverflow.com/questions/2112618/finding-duplicate -rows-в-SQL-сервер). Предположительно, вы также [хотите удалить строки] (http://stackoverflow.com/questions/3311903/remove-duplicate-rows-in-mysql) –

+0

@AksheyBhat, если вы хотите вставить данные принудительно, я вставляю –

ответ

-1

Выбрать все повторяющиеся строки:

SELECT dob 
     ,phone_no 
     ,user_name 
     ,email_id 
FROM users 
GROUP BY dob 
     ,phone_no 
     ,user_name 
     ,email_id 
HAVING COUNT(*) > 1 
+0

, но что делать, если запись вводится несколько раз. как я получаю это за один раз запрос –

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

  • Нет связанных вопросов^_^