2021년 6월 3일 목요일

SQL - Data update if data is already exist with PK constraint

SQL 을 사용해 Data를 입력하는 과정에서 PK (Primary Key) 제약조건 (Not Null, Unique) 이 걸릴때 해당 값을 Update 해주는 예시


1.예시 Table 생성(foorball_team Table 생성)
CREATE TABLE football_member (mem_name VARCHAR(30), mem_position VARCHAR(30), PRIMARY KEY(mem_name));
**이름(mem_name)에 PK 제약조건(Not null, unique)이 설정 되어있다**


2.Table 에 data 삽입 - 문제 없이 잘 된다
INSERT INTO football_member (mem_name,mem_position) VALUES ('쿠우씨','Director');
**감독(Director)로 입력 되어있다**

3.입력되어 있는지 모르고 다시 넣는다고 가정한다
INSERT INTO football_member (mem_name,mem_position) VALUES ('쿠우씨','Team_owner');
**이름에 PK제약조건이 걸려있어 작동할 수 없음**

4.제약조건 발생시 Update 를 하는 기능 추가
INSERT INTO football_member (mem_name,mem_position) VALUES ('쿠우씨','Team_owner') ON DUPLICATE KEY UPDATE mem_position = 'Team_owner';
**ON DUPLICATE KEY UPDATE 구문을 붙힌다**


5.확인
SELECT * FROM football_member 
**감독(Director)에서 구단주(Team_owner)로 승급했다**

댓글 없음:

댓글 쓰기