0
我正在編寫Android應用程序,以頻繁的間隔下載遊戲排行榜。結果存儲在數據庫中。爲了保持下載與實況結果分開,我下載到一個表中,然後複製到另一個表。排行榜表格存儲當前的排名和之前的排名。複製下載的版本到真人版之前,我更新以前的評級從目前的即:在Android中使用「替換」的意外SQL查詢結果
mDb.execSQL(
"update " + mTableName + " set last_rank = rank, last_world = world;");
然後,我從下載表中選擇相應的欄目,並更換成活動表:
mDb.execSQL(
"replace into " + mTableName + " (world, _id, victories, owned_regions, rank,
clan_name) select world, _id, victories, owned_regions, rank, clan_name
from " + mTableName + "_dl;");
如果在更新之後但在替換之前獲取數據庫的副本,然後運行Android外部的替換查詢(我使用SQLite Expert進行測試),然後得到預期的結果 - last_rank和last_world字段被保留,但如果我在Android中運行查詢,然後複製_dl表的所有字段,並且last_rank和last_world都是過度的,用tehir默認值編寫。這是Android SQLite實現中的錯誤還是我做錯了什麼?
任何幫助,將不勝感激。謝謝。