집 >데이터 베이스 >MySQL 튜토리얼 >고유 키를 기반으로 MySQL 행을 삽입하거나 업데이트하는 방법은 무엇입니까?
테이블에 데이터를 추가하려고 하지만 기존 행을 업데이트하는 동안 새 행을 삽입해야 하는 문제에 직면하는 시나리오를 생각해 보세요. 특정 열(datenum)의 고유성을 기반으로 합니다.
이 요구 사항을 해결하려면 처음에 UPDATE 문을 활용해 볼 수 있습니다. 질문에 예시된 대로; 그러나 이 접근 방식은 기존 행만 수정하는 것으로 제한됩니다. datenum 값이 테이블에 존재하지 않는 시나리오의 경우 아무런 조치도 취하지 않습니다.
datenum 고유 열을 기반으로 삽입과 업데이트를 모두 수행하기 위해 MySQL은 INSERT ... ON DUPLICATE KEY UPDATE를 제공합니다. 통사론. 이 구문을 사용하면 중복 키가 발견될 경우 행을 자동으로 업데이트하는 삽입 작업을 정의할 수 있습니다.
다음은 INSERT ... ON DUPLICATE KEY UPDATE 구문을 사용하는 UPDATE 문의 향상된 버전입니다.
INSERT INTO AggregatedData (datenum,Timestamp) VALUES ("734152.979166667","2010-01-14 23:30:00.000") ON DUPLICATE KEY UPDATE Timestamp=VALUES(Timestamp)
이 문에서 고유 키 열 datenum은 INSERT 절에 사용되는 반면 Timestamp의 업데이트된 값은 ON DUPLICATE KEY UPDATE에 지정됩니다. 조항. 이렇게 하면 동일한 날짜 번호를 가진 행이 이미 존재하는 경우 타임스탬프 열은 제공된 값으로 업데이트되고 다른 열은 변경되지 않은 상태로 유지됩니다.
이 기술을 사용하면 새 행 삽입과 업데이트가 모두 가능합니다. 고유 키 열을 기반으로 MySQL 테이블의 기존 행을 검색합니다.
위 내용은 고유 키를 기반으로 MySQL 행을 삽입하거나 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!