2011-03-19 96 views
0

我想用如數據庫:SQLite-優雅設置標識

表不法行爲(PrimaryKey的整數 ID,日期)

表罪(數字 foreign_key_to_wrongdoer,文本犯罪)

我希望我的應用程序(在python中)註冊一個不法分子(應給出一個唯一的整數)並註冊對他的第一個犯罪。我的想法是相當笨拙:

插入到違法者(...)

ID = cur.execute( 「選擇MAX(ID)」) //這是選擇最近的ID

cur.execute( 「插入 罪( ' 」+編號+「'」 犯罪+「' 」)「)

也就是說,插入一個條目,選擇從DB其獨特的鍵(假設其最高數字),​​然後將其用於後續查詢。是否有更好的選擇如何做到這一點?

回答

2
+0

感謝您的回答。如果有多個線程插入數據庫會怎麼樣?如何確保我們獲得rowid,即使另一個線程可能在我們的get rowid命令之前插入一行? – aitchnyu 2011-03-24 06:30:53

+0

使用交易 – sha 2011-03-24 13:31:43

+0

你能詳細說明嗎? – aitchnyu 2011-03-28 08:47:24