Вставка автоматически сгенерированного индекса из таблицы в другую таблицу - PullRequest
1 голос
/ 29 апреля 2011

Скажем, у нас есть две таблицы:

  • table1 (id, name, type), где id - первичный ключ, с автоинкрементом
  • table2 (item_id, place), где item_id относится к id в table1

Я хочу сделать следующее:

insert into table1(name, type) values (y, z);

Если предположить, что этот запрос назначит id=x для этой строки, то:

insert into table2(item_id, place) values (x, w);

Как я мог это сделать? Другими словами, как я могу получить id строки, которая была только что добавлена?

1 Ответ

4 голосов
/ 29 апреля 2011
insert into table1(name, type) values (y, z);
insert into table2(item_id, place) values (LAST_INSERT_ID() , w);

LAST_INSERT_ID () сделает это за вас. Большинство языков программирования имеют специальную функцию, которая вызывает это для вас, но она работает на чистом MySQL.

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