ホームページ >データベース >mysql チュートリアル >SQLite にデータを挿入するときに重複エントリを回避するにはどうすればよいですか?

SQLite にデータを挿入するときに重複エントリを回避するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-28 17:23:17199ブラウズ

How to Avoid Duplicate Entries When Inserting Data into SQLite?

SQLite での重複挿入の回避

人気の軽量データベース エンジンである SQLite には、他のエンジンでよく見られる IF NOT EXISTS 句の明示的なサポートがありません。 SQLの実装。このハードルは、重複レコードの挿入を防ぐためにこのような機能を利用することに慣れている開発者を困惑させる可能性があります。

この制限を回避するために、SQLite はいくつかの回避策を提供しています。 1 つの方法は、INSERT OR IGNORE コマンドを使用することです。

INSERT OR IGNORE INTO EVENTTYPE (EventTypeName) VALUES ('ANI Received');

このコマンドは、指定された EventTypeName が EVENTTYPE テーブルにまだ存在しない場合に新しいレコードを挿入します。

もう 1 つのオプションは、次のとおりです。 INSERT ステートメント内でサブクエリを使用します:

INSERT INTO EVENTTYPE (EventTypeName)
SELECT 'ANI Received'
WHERE NOT EXISTS (SELECT 1 FROM EVENTTYPE WHERE EventTypeName = 'ANI Received');

このアプローチでは、レコードの存在を確認する前にこれを挿入すると、実質的に IF NOT EXISTS 句と同じ結果が得られます。

以上がSQLite にデータを挿入するときに重複エントリを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。