2017-02-23 5 views
-2

[私はテーブルユーザーを持っています。ユニークキー(USER_NAME-EMAIL_ID-DOB-PHONE_NOアドレス)。]ユニークなキー(col1-col2-col3-col4-col5)を使用して5列、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-in-sql-server)を使用します。おそらくあなたも[行を削除する](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

はできませんが、レコードが複数回入力された場合はどうなりますか?どのように私は一度のクエリでそれを得る –

関連する問題