mysql-使用自动生成键从第一个插入表插入两个表,而不使用最后一个插入ID

mysql-使用自动生成键从第一个插入表插入两个表,而不使用最后一个插入ID,mysql,sql,Mysql,Sql,我需要在两个不同的表中插入一些值,这些表需要链接,假设我有: 表产品 id INT非空自动增量主键 名称文本不为空 食材 id INT非空自动增量主键 productID INT不为空 值文本不为空 因此,我需要在提交表中插入两个表,但表成分需要链接到产品表自动生成的productID,我不想使用LAST_insert_ID,因为我同时插入多行,并且可能从其他行获取和ID。您可以使用LAST_insert_ID(),因为它是多线程安全的。说: 对于LAST_INSERT_ID(),最

我需要在两个不同的表中插入一些值,这些表需要链接,假设我有:

  • 表产品

    • id INT非空自动增量主键
    • 名称文本不为空
  • 食材

    • id INT非空自动增量主键
    • productID INT不为空
    • 值文本不为空

因此,我需要在提交表中插入两个表,但表成分需要链接到产品表自动生成的productID,我不想使用LAST_insert_ID,因为我同时插入多行,并且可能从其他行获取和ID。

您可以使用
LAST_insert_ID()
,因为它是多线程安全的。说:

对于LAST_INSERT_ID(),最近生成的ID在服务器中按每个连接进行维护。它不会被其他客户端更改


“…因为我同时插入多行…”——您是运行一条插入多行的SQL语句,还是运行多个SQL插入语句?如果是后者,您可以使用LAST\u INSERT\u ID。@不,我使用的是一个单独保存数据的并发/并行脚本。如果我使用的是连接池,连接池将重用该连接,然后它可能会得到另一个连接id@JohnBalvinArias连接池不应在其他进程使用连接时断开连接。