SQL вставить, получить вставленный идентификатор и вставить снова - PullRequest
0 голосов
/ 02 мая 2020

Мне нужно вставить строку в 2 таблицы с соответствующими идентификаторами. При вставке в таблицу групп идентификатор автоматически увеличивается.

Я хочу вставить новую строку в таблицу групп, получить идентификатор из вставленной строки, а затем использовать его для вставки новой строки в ' Таблица users_in_groups '.

Что у меня есть:

INSERT INTO groups (name, owner_id ) VALUES ('groupname1', 'userid1');
INSERT INTO users_in_groups (user_id, group_id) VALUES ('userid1', group_id_from_above);

Я пытался

INSERT INTO groups (name, owner_id ) OUTPUT Inserted.id VALUES ('group1', 'user1');

Но я не знаю, как заставить 2' insert 'работать на 1 запрос. Это вообще возможно?

1 Ответ

1 голос
/ 02 мая 2020

В MySQL вы можете использовать LAST_INSERT_ID():

INSERT INTO groups (name, owner_id ) VALUES ('groupname1', 'userid1');
INSERT INTO users_in_groups (user_id, group_id) VALUES ('userid1', LAST_INSERT_ID());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...