2016-04-02 4 views
1

Я застрял в ситуации, когда мне нужно вставить id в таблицу sql на основе другого определенного значения в другой таблице.Вставить идентификатор в таблицу sql на основе другого определенного значения в другой таблице

Например: Я одна таблицы говорит заказы с колонками INVOICE_NUMBER и другой таблицей говорят invoice_hotels с колонкой invoice_id.

Я пытаюсь вставить invoice_id в invoice_hotels на основе данных INVOICE_NUMBER колонке заказа таблицы.

я хочу достичь ниже функциональности использовать MySQL squery только не PHP

  • Если Последнее значение в INVOICE_NUMBER столбец таблицы бронирований составляет 9000 , то я хочу, чтобы вставить 9001 в invoice_id столбец из invoice_hotels

Я знаю, что это можно легко сделать с помощью PHP скрипт, но я пытаюсь сделать это с sql только.

Я указал this и this, но не понял, как им пользоваться.

+0

получить последний идентификатор вставки из 1-й таблицы и добавить +1 к этому, а затем вставить его во вторую таблицу –

+0

Как я могу сделать это только с sql? Я имею в виду, не используя запрос выбора PHP. –

+0

, то почему вы добавляете тег php в вопрос –

ответ

2

Вы можете попробовать этот запрос:

здесь мы Geting максимальный идентификатор для INVOICE_NUMBER а затем +1 приращение с помощью запроса на выборку, после этого вы можете вставить это значение в другую таблицу с помощью вставки запроса.

INSERT INTO table_name (field1, field2,...fieldN)      
VALUES((SELECT IFNULL(MAX(invoice_number)+1, 1) from bookings), value2,...valueN); 

IFNULL (MAX, 1), что означает, если идентификатор является недействительным, то он будет принимать по умолчанию ИД = 1

ПРИМЕЧАНИЕ: Я не уверен, что TABLENAME и столбца, так что вы можете настроить в соответствии ваше требование.

Смежные вопросы