[1. 개요]
- INSERT INTO
- INSERT IGONRE INTO
- INSERT INTO ~ ON DUPLICATE KEY UPDATE
- REPLACE INTO
table 의 record 를 삽입하기 위한 각 방법의 차이점을 정리
위 순서대로 삽입 속도가 빠름.
[2. INSERT INTO]
- 가장 기본적인 방법
- PK 나 unique key 가 중복 된 경우, 에러가 발생하며 삽입되지 않음.
- 가장 빠른 방법
[3. INSERT IGNORE INTO]
- PK 나 unique key 가 중복 된 경우, 경고가 발생하며 삽입되지 않음.
[4. INSERT INTO ~ ON DUPLICATE KEY UPDATE]
- 아래 쿼리에서 `id` 가 unique key 로 설정되어 있고,
- `id`=1 인 record 가 이미 있는 경우, 아래 쿼리는,
- INSERT INTO table_name (id, name) VALUES (1, 'Alice') ON DUPLICATE KEY UPDATE name = 'Alice';
- unique key 는 그대로 두고, name 만 update 가 된다.
- 즉, PK 나 unique key 가 중복된 경우, update 가 수행되며,
- update 대상이 pk 나 unique key 인 경우, 에러가 발생한다.
[5. REPLACE INTO]
- PK 나 unique key 가 중복된 경우, 이미 있는 record 를 삭제하고 삽임 함.
- DELETE + INSERT
- insert 하므로, pk 가 auto_increment 인 경우, pk 가 증가함.
'MySQL' 카테고리의 다른 글
[mysql] UPDATE vs REPLACE (1) | 2024.04.03 |
---|---|
[작성해야 됨] mysql. 유용한 함수 (0) | 2024.02.22 |
MySQL. 테이블 용량 관리 (0) | 2023.09.26 |
MySQL. unique key (0) | 2023.06.22 |
MySQL, innodb_autoinc_lock_mode (0) | 2023.06.21 |