2015-02-22 4 views
0

У меня есть эта строка кода SQL (Im использованием MySQL Workbench)Добавление новой строки после целого числа

INSERT INTO haulrecord(invoiceNumber, TruckUsed, Client, CargoType, 
         BeginDate, DeliveryDate, Mileage, Notes) 
VALUES('203', '1857', '5', 'Batteries', '06/10/2014', '06/10/2014', '51', 'None'); 

Я собираюсь сделать хранимую процедуру, но хотите, чтобы добавить его в честь самой высокой номер счета-фактуры (следующий счет-фактура будет номером 203)

Как бы я это сделал?

+1

какой-либо причине вы не используете 'auto_increment' поле для номера счета-фактуры? – Fluffeh

+0

Нет причин, я довольно новичок в SQL (только делал это около двух месяцев), поэтому большинство из них для меня новичок –

+0

Вы получаете всю функциональность, используя столбец 'auto_increment', который вы хотите, база данных обрабатывает все это отлично и вам не нужно запускать какие-либо запросы каждый раз, когда вы вставляете строку. Я бы посоветовал вам использовать его в этом случае :) – Fluffeh

ответ

0

Вместо использования VALUES, используйте пункт SELECT вместо:

INSERT INTO haulrecord(invoiceNumber, TruckUsed, Client, CargoType, 
        BeginDate, DeliveryDate, Mileage, Notes) 
SELECT MAX(invoiceNumber) + 1, '1857', '5', 'Batteries', '06/10/2014', '06/10/2014', '51', 'None' FROM haulrecord; 
Смежные вопросы