gpt4 book ai didi

sql - 使用 Sqlite 将带有自动生成 id 字段的记录插入异步环境中的多个相关表中?

转载 作者:行者123 更新时间:2023-12-03 01:44:38 25 4
gpt4 key购买 nike

我有两个相互关联的表(简化示例):

id |  person
------------
1 | Peter
2 | Emma
3 | Sarah

parent

id_person | id_parent
---------------------
3 | 1
3 | 2

如您所见,SarahPeterEmma 的女儿。

现在,如果 people 中的 ids 为 auto,我如何将 Sarah's 兄弟 Joe 添加到两个表中递增并且查询是在异步环境中进行的?

我之所以提到“查询是在异步环境中进行的”,是因为我担心分多个步骤完成的顺序方法,例如这个:

  • 1) - 将 Joe 插入 people
  • 2) - 从people读取Joe的新id
  • 3) - 将Joe的新id插入parents

如果来自另一个线程/进程/协程的另一个查询在 1)2) 之间访问数据库,则可能会失败。

最佳答案

插入 Joe 后,使用 last_insert_rowid() 检索新的 id :

SELECT last_insert_rowid()

这是特定于连接的,因此只要其他线程或进程使用自己的连接,这在同时进行许多事情的环境中就可以正常工作。

关于sql - 使用 Sqlite 将带有自动生成 id 字段的记录插入异步环境中的多个相关表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49716270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com