Вопрос по MySql
Вот такой вопрос есть таблица в ней поле
num которое является первичным индексом
и увеличивается после каждой записи на 1
(auto_increment)
Вот собстваенно вопрос
как после вставки новой записи узнать
значение поля num этой записи
Чувствую что должна быть какая то
функция возвращающая значения поля
auto_increment вставленной записи
Заранее всем спасибо..
Если предположить, что невозможна ситуация, когда два или больше пользователей одновременно добавляют в таблицу совершенно идентичные строки, то выручит запрос
SELECT MAX(`num`) AS `newnum` FROM `table` WHERE `field1` = :только_что_добавленное_значение_field1 AND `field2`=тч_доб_field2 AND ...
т.е. с перечислением значений только что добавленых значений. Если в таблице кроме первичного ключа есть ещё какое-нибудь ограничение уникальности, то достаточно
SELECT `num` FROM `table` WHERE _здесь_перечисляем_поля_уникального_индекса
В Oracle для подобных случаев есть конструкция:
INSERT INTO таблица (список_столбцов) VALUES (список_значений_или_переменных) RETURNING список_столбцов INTO список_переменных
Возможно, в MySQL тоже есть RETURNING в DML-операциях.
Добавлено: Интересную фенечку нашёл в онлайновой доке MySQl. IMHO, самое оно.
то что нужно
Спасибо за помощь !