serverapps:db:sqlite
SQLite3
1ファイルの軽量のデータベース。アプリケーションに組み込んで利用されたりする。
セキュリティ
ファイルパーミッションに依存
REPLACE not UPSERT
SQLiteの「REPLACE INTO」1)を「UPSERT」相当と紹介する記事があるが、実際には「REPLACE INTO」は「DELETE and INSERT」に相当するので注意。
例:
tableA | ||
---|---|---|
*col1 | col2 | col3 |
ABC | DEF | GHI |
※col1がPrimaryKey
に対して以下のSQLを発行
REPLACE INTO tableA(col1, col2, col3) VALUES ('ABC', 'DDD', 'EEE')
結果
tableA | ||
---|---|---|
*col1 | col2 | col3 |
ABC | DDD | EEE |
次に以下のSQLを発行
REPLACE INTO tableA(col1, col2) VALUES ('ABC', 'ZZZ')
結果
tableA | ||
---|---|---|
*col1 | col2 | col3 |
ABC | ZZZ | NULL |
1)
実体は“INSERT OR REPLACE”
serverapps/db/sqlite.txt · 最終更新: 2021/05/11 02:31 by hayashi