gpt4 book ai didi

mysql - 如何在单个查询一对多关系中使用 LAST_INSERT_ID?

转载 作者:行者123 更新时间:2023-11-29 01:24:15 26 4
gpt4 key购买 nike

我有两个表格,问题答案。answers 包含一个键 *question_id*

当我创建一个问题时,我将一条记录插入到questions 表中,并将几条记录插入到answers 表中。是否可以使用 LAST_INSERT_ID() 或类似方法在一个查询中执行所有这些操作?

即像

INSERT INTO questions VALUES(NULL, 'My question');

INSERT INTO answers VALUES(NULL, LAST_INSERT_ID(), 'Answer 1');
INSERT INTO answers VALUES(NULL, LAST_INSERT_ID(), 'Answer 2');
INSERT INTO answers VALUES(NULL, LAST_INSERT_ID(), 'Answer 3');

显然,这个查询不会起作用,因为 LAST_INSERT_ID() 在每个语句后都会更改。有没有办法使这项工作正常进行,还是我必须将其分成两个查询?

最佳答案

您可以像这样使用批量插入:

INSERT INTO answers VALUES
(NULL, LAST_INSERT_ID(), 'Answer 1') ,
(NULL, LAST_INSERT_ID(), 'Answer 2') ,
(NULL, LAST_INSERT_ID(), 'Answer 3');

关于mysql - 如何在单个查询一对多关系中使用 LAST_INSERT_ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6964366/

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