티스토리 뷰

728x90

Msql 중복키 제약조건

1. ON DUPLICATE KEY UPDATE

- Insert 문에 ON DUPLICATE KEY UPDATE 절을 명시하여 UNIQUE 인덱스 또느 PRIMARY KEY 제약조건이 설정된 칼럼에

중복값이 삽입될경우 Error를 출력하지 않고 새로운 값으로 갱신됨.

  • 테이블 생성
create table tb_test
(
	idx int(11) not null auto_increment,
 	user_id varchar(30) not null,
 	user_name varchar(30) not null, 
 	user_hp varchar(20), 
	user_email varchar(50),
 	regdt datetime,
 	primary key(idx),
	unique key(user_id)
)
  • ON DUPLICATE KEY UPDATE 사용
insert into tb_test set 
	user_id = 'test', 
	user_name = '테스트', 
	user_hp = '010-1234-1234',
	user_email = 'test@naver.com',
	regdt = now()
ON DUPLICATE KEY UPDATE
	user_name = '테스트', 
	user_hp = '010-1234-1234',
	user_email = 'test@naver.com', 
	regdt = now()

 

2. IGNORE

- 중복키 제약조건에 위배 시 Insert 가 되지 않는다.

insert IGNORE into tb_test set
	user_id = 'test',
	user_name = '테스트', 
	user_hp = '010-1234-1234', 
	user_email = 'test@naver.com',
	regdt = now()

 

3. REPLACE INTO

- 중복키 제약조건에 위배되면 해당 레코드(Record)를 삭제하고 새로운 레코드(Record)를 Insert 한다.

REPLACE into tb_test set
	user_id = 'test', 
	user_name = '테스트', 
	user_hp = '010-1234-1234', 
	user_email = 'test@naver.com', 
	regdt = now()
728x90

'프로그램개발' 카테고리의 다른 글

JavaScript 텍스트 클립보드 복사기능  (0) 2023.11.09
Linux의 파일갯수 및 디렉터리 수 확인  (0) 2023.11.08
Mysql Character set  (0) 2023.10.27
Enter(엔터)키 막기  (0) 2023.10.19
var, let, const 차이 및 설명  (0) 2023.10.17
250x250
«   2025/07   »
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
Total
Today
Yesterday