2011-03-19 63 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