Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как получить все id вставленные последним запросом?
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
В принципе, и innodb и myisam строки вставляют одной операцией, параллельно другие вставки не производятся. Поэтому значения AI последовательны для одного многострочного инсерта.
Но это может быть изменено в будущем (или уже).
Нативного способа нету, можно ввести фиктивное поле, в которое сохранять, например, id соединения и потом по нему выбрать присвоенные id'шки.
----- PostgreSQL DBA
Zuldek
Отправлено: 16 Ноября, 2012 - 08:59:29
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
мускул сам блокировку таблиц включает... если подсчет id нужно сделать после завершения одной сессии - использовать дополнительную к автоматической блокировку таблиц. Если нельзя, - то да, временная таблица или фиктивное поле.
Bio man
Отправлено: 16 Ноября, 2012 - 17:35:30
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
Другой вопрос.
Задача перевести логику управления с РНР в SQL, типо цикл, переменные перенести в sql, что бы выполнялась та же задача.
Возможно это?
Или хотя бы нужно оптимизировать...
Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010
Помог: 69 раз(а)
Читаем про курсоры MySQL. Запросы в цикле--> подготовленные выражения.
Или нужен код?
P.S LIMIT 1 Можно убрать, если поле уникальный индекс(AI и т.п)
Bio man
Отправлено: 17 Ноября, 2012 - 10:59:46
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
tuareg пишет:
Или нужен код?
ну можешь привести подобный. Напомню еще раз задачу. Есть например несколько stops, нужно обойти их в цикле и в каждой итерации добавлять stop и stop_time, используя в stop_time last_ins_id от только что вставленного stop.
tuareg
Отправлено: 17 Ноября, 2012 - 11:16:48
Участник
Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.