Доступ к значению автоинкремента во время инструкции INSERT INTO - PullRequest
0 голосов
/ 03 августа 2011

В настоящее время я использую MySQL. У меня есть таблица с полем id auto_increment и полем imgname, содержащим строку, которая является именем файла изображения.

Мне нужно сгенерировать значение imgname, используя значение auto_increment, которое создается инструкцией INSERT INTO. Проблема в том, что я не знаю это значение, пока не смогу использовать mysql_insert_id, ПОСЛЕ выполнения запроса на вставку. Я хотел бы знать, возможно ли получить доступ к этому значению во время запроса вставки, а затем использовать его для генерации моей строки в операторе запроса.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 03 августа 2011

Посмотрите на функцию LAST_INSERT_ID().Если производительность не является проблемой, INSERT регулярно, а затем UPDATE с использованием LAST_INSERT_ID(), например:

UPDATE table SET name = CONCAT(name, "-", LAST_INSERT_ID()) WHERE id = LAST_INSERT_ID();
1 голос
/ 03 августа 2011

Я бы держал id и imgname независимыми друг от друга и комбинировал бы их на SELECT при необходимости.Если необходимость достаточно частая, создайте представление .

...