SQLiteにはREPLACE文がありますが、これを使うと、例えばn,c1,c2,c3フィールドがあるデータsampleに対して「replace into sample (n,c2) values (1,1)」を実行すると、c1とc3はnull値になってしまいます。
一部のSQLデータベースで用意されている「INSERT OR UPDATE」のように、行が存在すれば対象のフィールドのみを書き換え(それ以外のフィールドの内容は維持)、存在しなければ行を追加する構文を作ることは可能でしょうか。
No.1ベストアンサー
- 回答日時:
SQLiteでは、insert or replace しかないけど select文からの入力とサブクエリは使えるから
replace into [table_name] (n,c1,c2,c3)
select x.n, org.c1, x.c2, org.c3
from (select 1 as n, 1 as c2 ) as x
left join [table_name] as org on x.n=org.n ;
n がprimary key または uniqueの前提で1行書き換えまたは、新規挿入。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- PHP php エラー 2 2022/10/23 16:43
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- MySQL 下の画像はSQLの4大命令の性質をまとめたものであるらしいです UPDATE INSERT DELE 1 2023/06/07 15:36
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日本語のエイリアスは" "で囲...
-
差し込み後、元データを変更し...
-
フィルターかけた後、重複を除...
-
コンピュータ
-
SQL文で、合計が0のレコードを...
-
外部参照してるキーを主キーに...
-
for whichの使い方
-
SQLで特定の項目の重複のみを排...
-
副問合せの書き方について
-
EXISTSを使ったDELETE文
-
INSERT文でフィールドの1つだ...
-
エクセルで最後の文字だけ置き...
-
datetime型でNULL値を入れたい。
-
select文のwhere句に配列を入れ...
-
Word差し込み印刷 数式について
-
速度が低下し無効になったアド...
-
広告ブロッカーのアドカードと...
-
SELECT 文 GROUP での1件目を...
-
処理件数を非表示にしたい
-
リストビューの項目の内容を変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日本語のエイリアスは" "で囲...
-
~以上~未満の指定の方法
-
コマンドプロンプトでデータを...
-
SQLiteでINSERT OR UPDATE
-
CONCAT以外で文字列連結できますか
-
SQLServerでの副問合せについて
-
Accessのクリエで都道府県だけ...
-
差し込み後、元データを変更し...
-
フィルターかけた後、重複を除...
-
エクセルで最後の文字だけ置き...
-
SELECT 文 GROUP での1件目を...
-
SQLで特定の項目の重複のみを排...
-
for whichの使い方
-
外部参照してるキーを主キーに...
-
SQLServerで文字列の末尾からあ...
-
重複していないレコードの抽出...
-
INSERT文でフィールドの1つだ...
-
SQL Date型の列から年月だけを...
-
SQL Left Join で重複を排除す...
-
EXISTSを使ったDELETE文
おすすめ情報