我試圖合併具有相同表(和模式)的幾對SQLite3數據庫。有些表格非常簡單,只有一些明文數據,但有些表格有主鍵。有些密鑰是唯一的,如URL(例如url LONGVARCHAR PRIMARY KEY
),其中一些只是簡單的整數索引,但未設置爲自動增量(例如id INTEGER PRIMARY KEY
)。將行添加到主鍵可能已存在的SQLite數據庫中
我發現了幾個關於合併數據庫的主題(而且我已經手動合併了一對非主鍵數據庫而不費力),但是我擔心這兩個主鍵可能已經存在。
我的問題是,如果一行被插入到一個數據庫中已經存在一個具有相同密鑰的行,會發生什麼?它應該覆蓋具有該鍵的行嗎?我希望它會將它們追加到表中並更新密鑰,但只有當密鑰的數字組件設置爲自動遞增正確時纔有效?
任何人都可以確認我的假設 - 如果可能的話,提供一個最簡單的方法來追加這樣的行的建議?
非常感謝。
對;當鍵存在時插入失敗,但更新覆蓋該行 - 爲什麼沒有APPEND命令? `:-(`對於URL鍵,它主要是用最新數據庫中的同一行更新行。是否有一種方法可以自動執行max + 1方法?我正在使用SQLite3命令行程序;是 – Synetech 2011-02-13 06:52:12
有*是*一個APPEND語句;我們稱之爲INSERT。鍵是你的朋友 – 2011-02-13 12:57:25