2012-10-08 111 views
2

我有一個SQLite數據庫和一個使用自動增量int作爲主鍵的表。我查看了文檔,看來如果我執行INSERT AND REPLACE,它會刪除,然後在找到重複項時插入記錄。插入記錄並保留主鍵值

這很好,但問題是自動增量鍵從它離開的地方繼續,而不是從零開始。這意味着每次運行該查詢時,記錄的遞增更改。是否可以在不更改主鍵的情況下更新記錄?我發現這樣做的一種方式是刪除表和主鍵索引,但這看起來過於誇張,隨着表變大,可能會導致更長的時間。

回答

1

如果記錄存在,您可以對其進行更新。這不會改變主鍵。

+0

這是最有效的方法嗎?我希望它會內置。因此,我將不得不檢查每條記錄,並將往返數據加倍到數據庫? – superwpf

+0

如果你想保留主鍵....是的。也許你可以寫一個存儲過程在一次旅行中完成並調用它。 –

+0

我看起來似乎SQLite不支持存儲過程。我將使用這種方法。謝謝。 – superwpf

相關問題