SQLite-优雅地设置ID

SQLite-优雅地设置ID,sql,sqlite,Sql,Sqlite,我想使用如下数据库: 表错误执行者(primarykey整数 (身份证、日期) 表1犯罪(数字) 外文_key _to _不法分子,文字犯罪) 我希望我的应用程序(在python中)注册一个不法分子(应该给这个条目一个唯一的整数)并注册第一个针对他的罪行。我的想法相当笨拙: 插入不法行为人(…) id=cur.execute(“选择最大值(id)”) //这是为了选择最近的ID cur.execute(“插入到 犯罪(“+id+”“犯罪+”)) 也就是说,插入一个条目,从DB中选择它的唯一键(假

我想使用如下数据库:

表错误执行者(primarykey整数 (身份证、日期)

表1犯罪(数字) 外文_key _to _不法分子,文字犯罪)

我希望我的应用程序(在python中)注册一个不法分子(应该给这个条目一个唯一的整数)并注册第一个针对他的罪行。我的想法相当笨拙:

插入不法行为人(…)

id=cur.execute(“选择最大值(id)”) //这是为了选择最近的ID

cur.execute(“插入到 犯罪(“+id+”“犯罪+”))

也就是说,插入一个条目,从DB中选择它的唯一键(假设它是最大的数字),然后将其用于后续查询。有更好的方法吗?

请检查此函数:

谢谢您的回答。如果有多个线程插入数据库,该怎么办?即使另一个线程可能会在get rowid命令之前插入一行,您如何确保我们获得rowid?插入时使用BEGIN EXCLUSTIONAL TRANSACTION语句。请参阅此处: