我有两个彼此相关的表(简化示例):
people
id | person
------------
1 | Peter
2 | Emma
3 | Sarah
parents
id_person | id_parent
---------------------
3 | 1
3 | 2
如您所见,Sarah
是Peter
和Emma
的女儿。
现在,如果Sarah's
中的Joe
自动递增并且查询是在异步环境中进行的,那么如何将ids
兄弟people
添加到两个表中?< / p>
我之所以提到“查询是在异步环境中进行”的原因是因为我担心会在多个步骤中执行顺序审批,例如:
Joe
插入people
Joe's
id
个新people
Joe's
个新id
插入parents
1)
和2)
之间访问数据库,可能会失败。
答案 0 :(得分:1)
插入Joe
后,使用last_insert_rowid()
检索新的id
:
SELECT last_insert_rowid()
这是特定于连接的,因此只要其他线程或进程使用自己的连接,这将在许多事情一次发生的环境中正常工作。