我有一个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);"
答案 0 :(得分:1)
我不确定,但你可以试试:
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()
函数检索上次自动生成的值并在下一个查询中使用它。
正如我已经告诉过你的那样,我不确定它是否有效,但这个想法对你来说应该足够好了。