重複の可能性:
SQLite - INSERT または REPLACEではなく
UPSERTテーブル内の行を UPDATE または存在しない場合に INSERT するにはどうすればよいですか?
Windows 8 リリース プレビューと C#(VS 2012) を使用してメトロ アプリを開発しています。
INSERT INTO tablename (id, name)
VALUES (21, 'foo')
ON DUPLICATE KEY UPDATE name = 'boo';
Linq 式を使用して SQLite 3 でこれを実現するにはどうすればよいですか。レコードを挿入し、SQLiteException
例外でそのレコードをキャッチして更新しています。以下のコードを確認してください。
var dbPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path,"Student.db");
DateTime LastUpdated = DateTime.UtcNow;
using (var db = new SQLite.SQLiteConnection(dbPath))
{
try
{
db.Insert(new studentRecord() { sid = 21, name = 'foo', last_updated = LastUpdated });
}
catch(SQLite.SQLiteException ex)
{
db.Update(new studentRecord() { sid = 21, name = 'boo', last_updated = LastUpdated });
}
}
studentRecord
私のテーブル名はどこですか. これが正しい方法かどうかはわかりません. 単一のクエリで達成できる方法はありますか? 助けてください. 前もって感謝します