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

정보공유

[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건 1 페이지
번호 제목 글쓴이 날짜 조회
26 mysql 사용자 함수 생성 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 01-09 655
25 조건이 일치 하는 것은 앞으로 정렬하고 랜덤으로 출력하기. 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 10-21 6032
24 데이터 검증 후 잘못된 처리일경우 롤백처리. (트랜젝션) 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 07-07 7374
23 mysql 생년월일로 나이 계산식 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 05-11 16481
열람중 중복키관리 ON DUPLICATE KEY UPDATE 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-13 8727
21 mysql FIND_IN_SET 함수 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-26 9104
20 phpMyAdmin 좌측 트리메뉴 테이블 갯수 설정 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-10 11752
19 MYSQL LOCK TABLES 내 별칭(AS) 사용 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 11-25 11576
18 IN () 은 INNER JOIN 혹은 EXISTS로 사용하자 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-21 20006
17 중복된 데이터 정리하기 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-18 19238
16 mysql 근접한 값을 구하려 할때. 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 07-11 26089
15 wwwsqlDesigner 사용방법(2) 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-12 26022
14 wwwsqlDesigner 사용방법(1) 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-12 25798
13 게시물 조회수 랜덤으로 적용하기 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-01 27746
12 mysql 외부아이피 허용하기. 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-24 30193