Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- pm2
- pytorch
- ubuntu
- 평가지표
- MRI
- coursera
- NRMSE
- error
- Emoji
- Cost Function
- nodejs
- FSL
- CT
- MySQL
- AWS
- EC2
- git
- kernel
- Dual energy X-ray
- 동차좌표계
- object detection
- ml
- https
- relaxation time
- Map-reduce
- Homogeneous Coordinates
- procedure
- Anaconda
- ssl
- x-ray
Archives
- Today
- Total
Pay it Forward
[MYSQL] 중복 제거하고 Table에 Data 넣기 (Insert + NOT EXIST) 본문
728x90
MYSQL에서 Insert 를 통해 Data를 넣는 과정에서
이미 Table에 존재하는 Data의 경우는 중복되는 것을 방지하기 위하여 Insert 를 방지하고 싶은 경우가 있습니다.
이러한 경우에는 Insert 문의 Where 절에 NOT EXIST 를 사용하여 구현할 수 있습니다.
INSERT INTO [Table 명] ('Col 1', 'Col 2')
SELECT '값 1', '값 2' FROM DUAL
WHERE NOT EXISTS
(SELECT 'Col 1', 'Col 2' FROM [Table 명]
WHERE 'Col 1' = '값 1' AND 'Col 2' = '값 2')
이 SQL문은 넣고자 하는 Data를 이미 포함하지 않는, 즉 중복되지 않도록 하는 DUAL 이라는 임의의 Table을 통해 중복을 제거하여
Insert문을 실행하도록 합니다.
아래는 예시 SQL문입니다.
INSERT INTO User (id, password)
SELECT 'artiiicy', '1234' FROM DUAL
WHERE NOT EXISTS
(SELECT id, password FROM User
WHERE id = 'artiiicy' AND password = '1234')
이는 User Table에 Data를 넣을 때 중복을 허용하지 않겠다는 SQL문이며 위는 id와 password가 artiiicy, 1234인 Data를 넣는 과정입니다.
DUAL Table 이란?
DUAL Table이란 실제 Table에 존재하지 않는 Data 혹은 임의의 계산 결과를 출력할 때 사용하는 임의의 Table입니다.
728x90
'DB > MYSQL' 카테고리의 다른 글
MYSQL에 이모티콘(emoji) 저장하기 + error 처리(mysql row size too large. the maximum row size for the used table type not counting blobs is 65535) (0) | 2020.05.22 |
---|---|
PROCEDURE (프로시져) 도중에 중단하기 (return 0; 사용하기) (0) | 2020.02.25 |
PROCEDURE (프로시져) SELECT 결과 변수에 저장하기 (0) | 2020.02.25 |
[Error] You are using safe update mode 에러 해결방법 (0) | 2020.02.14 |
MYSQL에서 문자열 자르기 (String Split) (0) | 2020.02.05 |
Comments