[Mysql]: вставка значений в промежуточную таблицу

0

Недавно я добавил промежуточную таблицу для связывания двух таблиц.

Таблицы:

Purchase:
Transaction_Id  Purchase_Id

Schedule:
Show_Id     Price

Purchase_Schedule:
PurchaseId(fk)   Show_Id(fk)

Моя проблема в том, что purhcase_id находится в auto_increment. Поэтому я не знаю, где взять этот идентификатор.

Я собирался сделать что-то вроде этого...

INSERT INTO
    Purchase_Schedule
        (Purchase_ID, Show_ID)
    VALUES
        ((SELECT Purchase_ID FROM Purchase WHERE Transaction_ID=$transactionID),$purchaseID)";

Проблема заключается в том, что у Transaction_ID может быть привязано к нему более одного идентификатора purchase_ID... поэтому этот метод отсутствует.

Поэтому я считаю, что лучший способ приблизиться к этой ситуации - это использовать какую-то хранимую процедуру для автоматического обновления Purchase_Schedule.

Должен ли я идти с хранимой процедурой?
Есть ли способ вставить в Purchase_Schedule @текущую вставку Purchase_ID?
или способ вернуть auto_incremented Purchase_ID?

Теги:
auto-increment

1 ответ

1
Лучший ответ

Если вы используете PHP для вставки данных, вы можете использовать mysql_insert_id для получения значения идентификатора с автоинкрементом для последняя строка вставлена.

Вы также можете получить его через SQL:

SELECT LAST_INSERT_ID()

Подробнее см. руководство пользователя.

  • 0
    довольно круто ... рад, что спросил!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню