MySQL: 존재에 따라 레코드 업데이트 또는 삽입
데이터베이스를 다룰 때 업데이트하거나 업데이트해야 하는 시나리오에 직면하는 것이 일반적입니다. 또는 존재 여부에 따라 레코드를 삽입할 수 있습니다. PHP 및 MySQL로 작업하는 경우 이 질문이 자주 발생합니다.
이러한 맥락에서 원래 쿼리는 IF EXISTS 구문을 사용하여 업데이트 및 삽입 문을 병합하려고 시도합니다. 그러나 이것이 가장 효율적인 접근 방식은 아닙니다.
원하는 기능을 얻으려면 INSERT ... ON DUPLICATE KEY UPDATE 구문 사용을 고려해야 합니다. 올바른 구문은 다음과 같습니다.
INSERT INTO <table> (field1, field2, field3, ...) VALUES ('value1', 'value2','value3', ...) ON DUPLICATE KEY UPDATE field1='value1', field2='value2', field3='value3', ...
이 구문을 사용하면 단일 쿼리에서 INSERT 및 UPDATE 작업을 모두 수행할 수 있습니다. 레코드가 존재하지 않으면(기본 키 또는 고유 인덱스를 기준으로) 삽입됩니다. 레코드가 이미 존재하는 경우 제공된 값으로 업데이트됩니다.
각 행에 대해 영향을 받는 행 값은 다음과 같습니다.
이 접근 방식은 업데이트 및 삽입 작업을 별도로 처리하는 것보다 더 효율적이고 유지 관리가 쉽습니다.
위 내용은 존재에 따라 MySQL에서 레코드를 효율적으로 업데이트하거나 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!