MySQL에 대한 효율적인 업 슬리트 작업 : insert 사용 ... 중복 키 업데이트
]]]MySQL 데이터베이스 관리에서는 데이터가 존재하는지 여부에 따라 새 행을 삽입하거나 기존 행을 업데이트하는 것과 같은 작업을 수행해야합니다. 이를 "Upsert"작업 (삽입 또는 업데이트)이라고합니다.
mysql은 Upsert 함수를 효율적으로 구현하기 위해 중복 키 업데이트 구문에
삽입 ... 그것의 원칙은 다음과 같습니다.
INSERT INTO `table_name`
(`column1`, `column2`, ...)
VALUES
(value1, value2, ...)
ON DUPLICATE KEY UPDATE
`column1` = value1_updated,
`column2` = value2_updated,
...
삽입
절은 테이블에 삽입 할 값을 지정합니다. Duplicate Key Update에서
Clause에서 테이블에 동일한 기본 키 (또는 고유 인덱스)가있는 행이있을 때 수행 할 동작을 정의합니다.
예를 들어 다음 표를 고려하십시오.
CREATE TABLE `usage` (
`thing_id` INT NOT NULL PRIMARY KEY,
`times_used` INT DEFAULT 0,
`first_time_used` TIMESTAMP
);
4815162342의 the the _ the _ the _id
로 행에 새 데이터를 삽입하려면 times_used
열에 1을 추가하고 first_time_used
를 currentestamp, 다음 upsert 쿼리를 사용할 수 있습니다 :
INSERT INTO `usage`
(`thing_id`, `times_used`, `first_time_used`)
VALUES
(4815162342, 1, NOW())
ON DUPLICATE KEY UPDATE
`times_used` = `times_used` 1
4815162342의 the _ the _id
가있는 행이 이미 존재하는 경우 쿼리는 times_used
열을 업데이트하는 반면 first_time_used
는 변하지 않은 상태로 유지됩니다. 그렇지 않으면 새 라인이 삽입됩니다.
삽입 ... 중복 키 업데이트에서
는 MySQL에서업자 작업을 수행하기위한 유연하고 효율적인 기술입니다. 단일 쿼리로 삽입 및 업데이트 작업을 수행하고 코드를 단순화하고 성능을 향상시킬 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3