我有一個表在一個數據庫所在的_id列是主鍵。如果我嘗試使用已存在的_id對此表進行插入,那麼我的應用程序會崩潰。我怎樣才能做到這一點?有什麼特殊的例外可以吃嗎?我試過SQLiteException無濟於事。應用爆炸與衝突的SQL主鍵
1
A
回答
0
我已經想通了我的問題。
現在,我使用insertOrThrow接球SQLiteExceptions。另外,我一直拋出另一個例外,但沒有捕捉到任何地方。我現在抓住並記錄下來。
0
根據定義主鍵需要是唯一的 - 一個單一的值必須引用的單個行。
你只能做你想要改變的東西是什麼 - 無論是在數據庫結構,所以此列不再定義爲一個主鍵(雖然仔細想想你這樣做之前 - 寫對舊模式的任何應用程序將假設,當根據_id字段進行選擇時,單個id將產生單行,並且您將打破該假定,並且很可能是應用程序)。另一件事是改變數據給它一個新的_id。
+0
感謝您的回覆。我在這裏做的是同步從Web服務中提取的數據。目前,同步是這樣編寫的,即新行不會被拉兩次。但是,如果有什麼東西溜走了,我不希望應用程序崩潰在用戶身上。我明白主鍵是什麼,我想要一個乾淨的方式來處理這個異常。 – Andrew 2010-08-31 15:38:03
相關問題
- 1. 衝突主鍵
- 2. 爆炸鍵JSON用PHP
- 3. 爆炸的字符串與鍵=>值
- 4. JPA主鍵衝突
- 5. 主鍵和外鍵衝突
- 6. 爆炸()到$鍵=> $ value對
- 7. SparkSQL第二爆炸的第一爆炸
- 8. 像sql一樣爆炸php
- 9. 主鍵衝突約束
- 10. SQL Server 2005與外鍵衝突插入
- 11. 合併兩個SQL表與鍵衝突
- 12. 多個術語SQL與爆炸/內爆和PHP PDO
- 13. jQuery的爆炸()
- 14. Imagettftext不能與wordwrap /爆炸
- 15. 分裂與爆炸在PHP
- 16. 在jQuery中爆炸與PHP
- 17. 爆炸粒子效應
- 18. 使用php爆炸?
- 19. 爆/爆炸PHP數組
- 20. 使用挽救與爆炸方法
- 21. PHP爆炸
- 22. 爆炸指數?
- 23. 爆炸()在PHP
- 24. nspasteboard readObjectsForClasses爆炸
- 25. 爆炸爲mysqli_fetch_array()
- 26. 爆炸URL
- 27. PHP分/爆炸
- 28. 爆炸陣列
- 29. Angular2爆炸管
- 30. 爆炸動畫
是否有你自己插入ID,而不是讓數據庫爲您指定一個特別的原因?至於異常類型,當然會在異常細節中概述? – rrrr 2010-08-31 15:13:07
我正在同步從Web服務中提取的數據 – Andrew 2010-08-31 15:36:25