MySQL 중복 제거

1 개요[ | ]

MySQL 중복 제거
MySQL 유일키 강제 추가
  • 기존에 중복된 컬럼이 있는 경우 하나만 남기고 다 지우고 싶다.

2 실습[ | ]

  • id2의 경우 중복된 값이 있는데 하나만 남기고 삭제하고 싶다.
mysql> SELECT * FROM test1;
+----+-------+-----------+
| id | id2   | str       |
+----+-------+-----------+
|  1 | 11111 | hello     |
|  2 | 11111 | world     |
|  3 | 22222 | hello     |
|  4 | 22222 | world     |
|  5 | 11111 | my friend |
+----+-------+-----------+
5 rows in set (0.00 sec)
mysql> ALTER IGNORE TABLE test1 ADD UNIQUE INDEX(id2);
Query OK, 5 rows affected (0.05 sec)
Records: 5  Duplicates: 3  Warnings: 0
mysql> SELECT * FROM test1;
+----+-------+-------+
| id | id2   | str   |
+----+-------+-------+
|  1 | 11111 | hello |
|  3 | 22222 | hello |
+----+-------+-------+
2 rows in set (0.00 sec)
  • (선택적) 임시로 적용한 id2 유일키 제약조건이 필요없으면 제거[1]
mysql> ALTER TABLE test1 DROP INDEX id2;
Query OK, 2 rows affected (0.04 sec)
Records: 2  Duplicates: 0  Warnings: 0

3 같이 보기[ | ]

4 주석[ | ]

  1. 필요하다면 계속 사용

5 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}