我有一个 SQL 查询,我将两个用户添加到一个“组”中。所以我有一个包含列的组表 -
group_id (AUTO_INCREMENT = true)
user_id
所以我将第一个用户插入到组中
INSERT INTO group (user_id) VALUES (user_1);
它会自动创建一个group_id。我想将第二个用户添加到具有相同 group_id 的表中。那么有没有一种方法可以通过一次数据库调用来完成这一切呢?我正在寻找类似以下查询字符串的内容 -
"INSERT INTO group (user_id) VALUES (user_1);
group_id = getLastInsertedKey();
INSERT INTO group (user_id) VALUES (user_2);"
最佳答案
我不确定,但你可以尝试:
INSERT INTO `group` (user_id)
VALUES (user_1);
INSERT INTO `group` (user_id, group_id)
VALUES (
(SELECT LAST_INSERT_ID()) a,
user_2);
这个想法是使用LAST_INSERT_ID()
函数来检索最后一个自动生成的值并在下一个查询中使用它。
正如我已经告诉过你的,我不确定它是否有效,但这个想法对你来说应该足够好了。
关于mysql - 使用自动生成列的值进行后续查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9725833/