好了,我們有一個表設置一個PhoneGap的應用程式,例如插入只有當ID不存在
tblTest (actualid INTEGER PRIMARY KEY, id INTEGER, name TEXT)
的actualid針對設備和ID的唯一ID維持在服務器端數據庫。我們遇到了webservices返回重複記錄的問題,同時我們正在修復,我想添加一些東西到我們的sql,防止重複被添加(修復壞數據是一個痛苦)。
我們目前的INSERT語句設置像
INSERT INTO tblTest (id, name) VALUES (101, 'Bob')
如果運行兩次,該數據庫最終將看起來像
actualid | id| name
1 | 101| Bob
2 | 101| Bob
而且我想什麼它看起來像是
actualid | id| name
1 | 101| Bob
插入或替換會給我一個actualid 2
的例子,例如任何我使用WHERE子句就像
INSERT INTO tblTest SELECT ..... WHERE.....
設置不工作,因爲沒有數據是在表中沒有找到(除非我正在做一個新手錯誤,我不是很擅長sqlite或一般的sql)。
由於似乎當前的解決方案涉及創建一個ID爲UNIQUE的新表,將所有內容移動,刪除舊錶並重新命名新表,同時確保它發生一次o n在設備嘗試對數據庫執行任何操作之前,它只會發生一次...對我們來說不是一個當前有效的解決方案,我將添加代碼以在插入記錄之前手動檢查數據庫。後見之明就是它,下一次我會確保什麼時候將某些東西同步到服務器上,這樣actualid是自動增量的,而id是唯一的。 – Twomz 2013-03-21 13:40:42