집 >데이터 베이스 >MySQL 튜토리얼 >레코드 존재를 기반으로 SQL에서 데이터를 효율적으로 업데이트하거나 삽입하는 방법은 무엇입니까?
소개
SQL에서는 기존 데이터와 상호작용하는 것이 일반적인 작업입니다. 개발자는 레코드 존재 여부에 따라 조건부로 데이터를 업데이트하거나 삽입해야 하는 경우가 많습니다. 이 문서에서는 IF EXISTS UPDATE 및 ELSE INSERT INTO 기능을 구현하려고 할 때 사용자가 직면하는 문제를 해결하는 것을 목표로 합니다.
IF EXISTS 문
IF EXISTS 문을 사용하면 개발자가 SQL 쿼리를 실행하기 전에 확인할 조건을 지정할 수 있습니다. 조건이 true로 평가되면 지정된 작업이 수행되고, 그렇지 않으면 해당 작업을 건너뜁니다.
조건부 업데이트 및 삽입에 IF EXISTS 사용
쿼리에서 묻는 질문에는 레코드가 있으면 업데이트하고, 없으면 새 레코드를 삽입하는 것이 포함됩니다. 이렇게 하려면 다음 단계를 수행해야 합니다.
이 문의 올바른 구문은 다음과 같습니다.
<code class="language-sql">INSERT INTO 表名 (列1, 列2, ...) VALUES (?, ?, ...) ON DUPLICATE KEY UPDATE 列1 = VALUES(列1), 列2 = VALUES(列2), ...</code>
코드 예시
쿼리에 제공된 예를 사용하세요.
<code class="language-sql">ALTER TABLE subs ADD UNIQUE (subs_email); INSERT INTO subs (subs_name, subs_email, subs_birthday) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE subs_name = VALUES(subs_name), subs_birthday = VALUES(subs_birthday);</code>
위 내용은 레코드 존재를 기반으로 SQL에서 데이터를 효율적으로 업데이트하거나 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!