はじめに
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 中国語 Web サイトの他の関連記事を参照してください。