2010-07-03 127 views
0

我試過INSERT OR REPLACE INTO,但它並不保留行ID,當它替換記錄來更新它時。另一種選擇是分兩步執行:INSERT OR IGNORE INTO然後UPDATE,但我更喜歡一步解決方案。所以我想知道SQLite是否有像MERGE關鍵字或其他簡單的解決方案?SQLite:如果存在更新記錄,否則插入它?

回答

1

不,SQLite不支持MERGE或upsert。

您可以使用兩步式解決方案,但您可能真正想要的是讓ROWID成爲您表格中的一流專欄。如果您聲明一列爲INTEGER PRIMARY KEY,則它將成爲ROWID的別名。然後INSERT OR REPLACE將正常工作。

相關問題