【问题标题】:SQLite- elegantly setting IDsSQLite - 优雅地设置 ID
【发布时间】:2011-03-19 14:18:57
【问题描述】:

我想使用这样的数据库:

表错误者(主键整数 身份证,日期)

表格犯罪(数字 foreign_key_to_wrongdoer,文字犯罪)

我希望我的应用程序(在 python 中)注册一个不法行为者(这应该给条目一个唯一的整数)并注册针对他的第一次犯罪。我的想法比较笨拙:

插入不法行为者(...)

id=cur.execute("选择最大值(ID)") //这是选择最近的ID

cur.execute("插入到 犯罪('"+id+"'"犯罪+"'")")

即插入一个条目,从DB中选择它的唯一键(假设它的编号最大),然后将其用于后续查询。有没有更好的方法?

【问题讨论】:

    标签: sql sqlite


    【解决方案1】:

    【讨论】:

    • 感谢您的回答。如果有多个线程 INSERT 到数据库中怎么办?即使另一个线程可能在我们的 get rowid 命令之前插入一行,您如何确保我们获得 rowid?
    • 插入时使用 BEGIN EXCLUSIVE TRANSACTION 语句。见这里:sqlite.org/lang_transaction.html
    猜你喜欢
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 2011-05-23
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 2011-08-08
    相关资源
    最近更新 更多