Получение последних вставленных идентификаторов для нескольких строк
При вставке данных в таблицу с автоматическим увеличением PK мне нужно получить этот ключ для использования в другом операторе. Как показывают многие вопросы о SO, это можно сделать с помощью PHP.mysql_insert_id()
Тем не менее, я сгруппировал свои вставки вместе, поэтому я вставляю более одной строки за раз. Я сделал это, как и предполагал, что, возможно, возникнут проблемы с производительностью, пожалуйста, сообщите, если я ошибаюсь. Во всяком случае, насколько я знаю, однако,mysql_insert_id()
возвращает только последний идентификатор, когда мне нужны идентификаторы для всех вставленных строк.
Я думаю, в этом случае я мог бы:
Выполните несколько простых вычислений, чтобы рассчитать все идентификаторы, используяmysql_insert_id()
и количество строк, которые я ввел. Но гарантированно ли это всегда верно?
Используйте несколько операторов вставки, по одному для каждой строки
Генерация моих идентификаторов до и без использования автоинкремента.
Я уверен, что это должно быть классической проблемой, поэтому мне интересно, каковы наиболее распространенные и рекомендуемые подходы.