위토즈 - 개발자프로그램판매공간

정보공유

[SQL] 중복키관리 ON DUPLICATE KEY UPDATE

중복값 등록 방지를 위해서 아래와같은 방법을 사용한다.


보통 select 한다음 값이 있는경우 update 값이 없는경우 insert 하는 방법을 사용하는데


아래와 같이 한줄로 처리가 가능하다.


----------------------------------------------------


INSERT INTO table_name (column1, column2, column3, column4) values ('AA', '111', '333', '444') ON DUPLICATE KEY UPDATE column3 = '333', column4 = '444';


또는


INSERT INTO table_name (column1, column2, column3, column4) values ('AA', '111', '333', '444') ON DUPLICATE KEY UPDATE column3 = VALUES(column3), column4 = VALUES(column4);


----------------------------------------------------



위 구문을 사용하기 위해서는 중복이 되면 안되는 컬럼을 unique 키로 등록해야 합니다.


추가

ALTER TABLE table_name ADD UNIQUE uk_name (column1, column2);


삭제

ALTER TABLE table_name DROP INDEX uk_name





그외에 


INSERT IGNORE, REPLACE INTO 도 참고바람.





정보공유
Total 26건 2 페이지
번호 제목 글쓴이 날짜 조회
11 wwwsqlDesigner 사용방법(1) 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-12 26423
10 IN () 은 INNER JOIN 혹은 EXISTS로 사용하자 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-21 20506
9 중복된 데이터 정리하기 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-18 19764
8 mysql 생년월일로 나이 계산식 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 05-11 16848
7 phpMyAdmin 좌측 트리메뉴 테이블 갯수 설정 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-10 12185
6 MYSQL LOCK TABLES 내 별칭(AS) 사용 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 11-25 12033
5 mysql FIND_IN_SET 함수 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-26 9521
열람중 중복키관리 ON DUPLICATE KEY UPDATE 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-13 9125
3 데이터 검증 후 잘못된 처리일경우 롤백처리. (트랜젝션) 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 07-07 7767
2 조건이 일치 하는 것은 앞으로 정렬하고 랜덤으로 출력하기. 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 10-21 6389
1 mysql 사용자 함수 생성 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 01-09 973