sqlite3でレコードがなければ追加、あれば更新 UPSERT
- SQLはREPLACE文を使う.
- 使用するためにPrimary keyの設定が必要.
例
(1)primary keyがtableを作成
create table test_table(id text primary key, a data)
(2)これに対して,replace文
replace into test_table(id,val) values(2,4);
入っているかみる
select * from test_table;
出力例
2|4
(3−2)更新
replace into test_table(id,val) values(2,5);
更新されているか確認
select * from test_table;
出力例
2|5
(3−1)追加(新しいidをいれる)
replace into test_table(id,val) values(4,5);
追加されているか確認
select * from test_table;
出力例
2|5
4|5