삽입 또는 업데이트 작업 특히 효율적인 솔루션을 찾을 때 두 가지 조건을 기반으로 데이터베이스의 행을 분석하는 것은 어려울 수 있습니다. 이 문제는 중복된 이름과 날짜로 새 행이 계속 생성되는 테이블을 처리할 때 특히 자주 발생합니다.
이 문제에 대한 최적의 솔루션은 INSERT INTO ON DUPLICATE KEY UPDATE 문입니다. 이 문을 사용하면 새 행이 아직 없으면 삽입할 수 있고, 있으면 기존 행을 업데이트할 수 있습니다. 이 문을 활용하려면 테이블에 삽입 작업 중 충돌을 감지할 수 있는 고유 키(예: 복합 키)가 있어야 합니다.
다음 스키마가 포함된 테이블을 생각해 보세요.
CREATE TABLE myThing ( id INT AUTO_INCREMENT PRIMARY KEY, name INT NOT NULL, values1 INT NOT NULL, values2 INT NOT NULL, dates DATE NOT NULL, UNIQUE KEY (name, dates) -- This unique key is crucial. );
이 설정을 사용하면 다음 문은 이름과 날짜 조합이 없으면 새 행을 삽입하고, 있으면 기존 행을 업데이트합니다.
INSERT INTO myThing (name, values1, values2, dates) VALUES (777, 1, 1, '2015-07-11') ON DUPLICATE KEY UPDATE values2=values2+1;
동일한 이름과 날짜 조합으로 insert 문을 여러 번 실행하면 표시된 대로 value2 열이 업데이트됩니다. 아래:
| id | name | values1 | values2 | dates | | --- | --- | --- | --- | --- | | 1 | 777 | 1 | 4 | 2015-07-11 |
INSERT INTO ON DUPLICATE KEY UPDATE 문은 삽입 및 관리를 위한 매우 효율적인 솔루션을 제공합니다. 여러 조건에 따라 업데이트됩니다. 고유 키를 정의함으로써 이 접근 방식을 통해 중복 항목이 적절하게 처리되므로 복잡한 저장 프로시저가 필요하지 않습니다.
위 내용은 두 가지 조건에 따라 데이터베이스 행을 효율적으로 INSERT INTO 또는 업데이트하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!