Использование значения автоматически сгенерированного столбца для последующего запроса - PullRequest
0 голосов
/ 15 марта 2012

У меня есть 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);"

1 Ответ

1 голос
/ 15 марта 2012

Я не уверен, но вы можете попробовать:

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() для получения последнего автоматически сгенерированного значения и использовать его в следующем запросе.
Как я уже говорил вам, я не уверен, что это работает, но идея должна быть достаточно хорошей для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...