INSERT ON DUPLICATE KEY UPDATE는 MySQL에서 무엇을 합니까?

Insert On Duplicate Key Updateneun Mysqleseo Mueos Eul Habnikka



MySQL 데이터베이스로 작업하는 동안 사용자가 새 레코드를 테이블에 삽입하려고 할 때 중복 키 위반 오류가 가끔 발생할 수 있습니다. 이 오류는 기본 키 또는 고유 키가 동일한 행이 이미 존재할 때 발생합니다. 그러나 이 문제는 기존 레코드를 새 값으로 업데이트하여 해결할 수 있습니다. 이러한 경우 ' 중복 키 업데이트에 삽입 ” 기능은 이 문제를 효과적으로 해결할 것입니다.

이 게시물은 'INSERT ON DUPLICATE KEY UPDATE'가 무엇이며 MySQL에서 어떻게 작동하는지 보여줍니다.







INSERT ON DUPLICATE KEY UPDATE는 MySQL에서 무엇을 합니까?

MySQL에서는 중복 키 업데이트에 삽입 두 기능을 단일 작업으로 결합하는 INSERT 문의 고급 기능입니다. 예를 들어, 주어진 레코드가 아직 존재하지 않는 경우 특정 테이블에 레코드를 삽입합니다. 그러나 원하는 레코드가 이미 존재하는 경우 기존 레코드를 새 값으로 업데이트합니다.



INSERT ON DUPLICATE KEY UPDATE 기능을 활성화하려면 사용자는 아래 제공된 구문을 따라야 합니다.



에 집어 넣다 [ 테이블 이름 ] ( [ col_1 ] , [ col_2 ] , ... )
가치 ( [ val_1 ] , [ val_2 ] , ... )
중복 키 업데이트 시 [ col_1 ] = [ val_1 ] , [ col_2 ] = [ val_2 ] , ...;





table_name, col_1, col_2, … 및 val_1, val_2, … 등 대신 테이블 이름, 열 이름 및 선택한 값을 지정합니다.

예: MySQL에서 INSERT ON DUPLICATE KEY UPDATE 기능을 사용하는 방법은 무엇입니까?



먼저 적절한 권한으로 MySQL 데이터베이스에 연결한 다음 아래 명령을 실행하여 “linuxhint_author” 테이블의 데이터를 가져옵니다.

선택하다 * linuxhint_author에서;

select 명령은 'linuxhint_author' 테이블의 모든 레코드를 검색합니다.

이제 다음 SQL 명령을 실행하여 'ON DUPLICATE KEY UPDATE' 기능이 활성화된 상태에서 'linuxhint_author' 테이블에 특정 레코드를 삽입하거나 업데이트합니다.

linuxhint_author에 삽입 ( ID , 이름, 나이, 저자 순위, 이메일 )
가치 ( 6 , '알렉스 존슨' , 29 , , 'alex@example.com' )
중복 키 업데이트 시
이름 = 값 ( 이름 ) ,
나이 = 값 ( 나이 ) ,
저자 순위 = VALUES ( 저자순위 ) ,
이메일 = 값 ( 이메일 ) ;

지정된 레코드가 'linuxhint_author' 테이블에 이미 존재하지 않기 때문에 선택한 테이블에 성공적으로 삽입됩니다.

중복 레코드를 삽입하고 ' 중복 키 업데이트 시 ” 기능은 MySQL에서 작동합니다.

linuxhint_author에 삽입 ( ID , 이름, 나이, 저자 순위, 이메일 )
가치 ( , '마이클 존슨' , 28 , 4 , 'michael@example.com' )
중복 키 업데이트 시
이름 = 값 ( 이름 ) ,
나이 = 가치 ( 나이 ) ,
저자 순위 = VALUES ( 저자순위 ) ,
이메일 = 값 ( 이메일 ) ;

아래 스니펫에서 기존 레코드가 새 값으로 성공적으로 업데이트되었음을 ​​분명히 알 수 있습니다.

'INSERT ON DUPLICATE KEY' 기능은 전체 레코드 대신 특정 열에 적용할 수도 있습니다.

linuxhint_author에 삽입 ( ID , 저자순위 )
가치 ( , 2 )
중복 키 업데이트 시 authorRank = VALUES ( 저자순위 ) ;

위의 코드에서 ID가 '3'인 작성자의 'authorRank'는 새 값 '2'로 업데이트됩니다.

이것이 MySQL에서 'INSERT ON DUPLICATE KEY UPDATE' 기능이 작동하는 방식입니다.

결론

MySQL에서는 중복 키 업데이트에 삽입 단일 작업에서 새 행을 삽입하고 기존 행을 업데이트/수정하는 기능을 결합할 수 있는 고급 기능입니다. 이 기능은 사용자가 특정 테이블에 새 행을 삽입하려고 할 때 '중복 키 위반' 오류를 방지하는 데 도움이 됩니다. 이 게시물에서는 'INSERT ON DUPLICATE KEY UPDATE'가 무엇이며 MySQL에서 어떻게 작동하는지 설명했습니다.