INSERT ... SELECT ... ON DUPLICATE KEY UPDATE 구문 설명
일부 열이 이미 존재할 수 있는 INSERT 쿼리를 수행하는 경우 대상 테이블에는 ON DUPLICATE KEY UPDATE 절을 사용할 수 있습니다. 이 절을 사용하면 업데이트 기준과 업데이트할 값을 지정할 수 있습니다.
이러한 쿼리에서 UPDATE 절의 구문은 다음과 같습니다.
ON DUPLICATE KEY UPDATE column1=value1, column2=value2, ...;
이해해야 할 핵심 측면은 다음과 같습니다. MySQL이 삽입 및 업데이트되는 값을 참조하는 방법. 기본적으로 등호 앞 부분은 INSERT INTO 절에 명명된 열을 참조하고, 등호 뒤 부분은 SELECT 절에 명명된 열을 참조합니다.
예를 들어 다음 쿼리를 고려해보세요.
INSERT INTO lee(exp_id, created_by, location, animal, starttime, endtime, entct, inact, inadur, inadist, smlct, smldur, smldist, larct, lardur, lardist, emptyct, emptydur) SELECT id, uid, t.location, t.animal, t.starttime, t.endtime, t.entct, t.inact, t.inadur, t.inadist, t.smlct, t.smldur, t.smldist, t.larct, t.lardur, t.lardist, t.emptyct, t.emptydur FROM tmp t WHERE uid=x ON DUPLICATE KEY UPDATE entct=t.entct, inact=t.inact, ...;
이 쿼리에서는 INSERT INTO 절에 명명된 열이 열 할당에 사용됩니다. 기본값:
SELECT 절은 업데이트를 지정하는 데 사용됩니다. 값:
열 ON DUPLICATE KEY UPDATE 절에 포함되지 않은 내용은 업데이트되지 않습니다.
위 내용은 MySQL은 INSERT ... SELECT ... ON DUPLICATE KEY UPDATE 구문을 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!