[解決済み】INSERT IF NOT EXISTS ELSE UPDATE?
2022-03-28 01:38:11
質問
新しいレコードを挿入したり、既に存在するレコードを更新したりするにはどうすればよいのでしょうか?
私は以下のように定義されたテーブルを持っています。
CREATE TABLE Book
ID INTEGER PRIMARY KEY AUTOINCREMENT,
Name VARCHAR(60) UNIQUE,
TypeID INTEGER,
Level INTEGER,
Seen INTEGER
私がしたいことは、ユニークな名前を持つレコードを追加することです。その名前がすでに存在する場合は、フィールドを変更したいのです。
誰かこの方法を教えてください。
どのように解決するのですか?
をご覧ください。 http://sqlite.org/lang_conflict.html .
のようなものが欲しいですよね。
insert or replace into Book (ID, Name, TypeID, Level, Seen) values
((select ID from Book where Name = "SearchName"), "SearchName", ...);
挿入リストにないフィールドは、その行がすでにテーブルに存在する場合、NULLに設定されることに注意してください。このため、サブセレクトで
ID
カラムがあります。置換の場合、文はそれをNULLに設定し、新しいIDが割り当てられる。
この方法は、置換の場合は特定のフィールドの値をそのままにしておき、挿入の場合はそのフィールドをNULLに設定したい場合にも使用できます。
例えば
Seen
を単独で使用します。
insert or replace into Book (ID, Name, TypeID, Level, Seen) values (
(select ID from Book where Name = "SearchName"),
"SearchName",
5,
6,
(select Seen from Book where Name = "SearchName"));
関連
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] MySQLテーブルへの挿入または存在する場合の更新
-
[解決済み] SQLiteでテーブルが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] "INSERT IGNORE" vs "INSERT ... ON DUPLICATE KEY UPDATE"
-
[解決済み] PostgreSQLで重複して更新された場合の挿入?
-
[解決済み] SQL ServerにおけるINSERT OR UPDATEに関する解決策
-
[解決済み] SQLite - UPSERT *not* INSERT or REPLACE
-
[解決済み】SQLiteにブーリアン値を格納する
-
[解決済み】SQLiteでテーブルの構造を見るにはどうしたらいいですか?重複
-
[解決済み] SQLite UPSERT / UPDATE OR INSERT
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] .SQLiteファイルの開き方
-
[解決済み] SQLite - UPSERT *not* INSERT or REPLACE
-
[解決済み】SQLiteにブーリアン値を格納する
-
[解決済み] [Solved] SQLiteデータベースのテーブルのカラム名を変更するには?
-
[解決済み】SQLiteデータベースのロックを解除する方法は?
-
[解決済み】SQLITEでカラムを削除・追加する方法とは?
-
[解決済み】SQLiteデータベースファイルの拡張子は関係ありますか?
-
[解決済み】ストアドプロシージャの作成とSQLite?
-
[解決済み】SQLiteクエリで使用するためのシングルクォート文字のエスケープ
-
[解決済み】SQLiteでテーブルの構造を見るにはどうしたらいいですか?重複