Задавайте вопросы, мы ответим
Вы не зашли.
Есть примерно такая таблица:
Неактивен
В многострочном инсерте значения строк разделяются запятыми
Неактивен
vasya написал:
Не понял суть вопроса.
Каждой вставленной строке соответствует строка в другой таблице, которая должна ссылаться на id, сгенерированный при вставке. LAST_INSERT_ID() даст результат при однострочном инсерте, но у меня инсерт многострочный. Соответственно LAST_INSERT_ID() возвращает только id первой строки в запросе. Выход один - использовать вложенные запросы, только вот как? 8))
Неактивен
Никак. Вложенных инсертов не бывает.
Избавтесь от многострочного инсерта.
Неактивен
а что мешает сделать так
LOCK TABLES user WRITE
SELECT MAX(id) FROM user
INSERT INTO `user` (`name`, `surname`) VALUES
('name 1' , 'surname 1' ),
('name 2' , 'surname 2' ),
...
('name N' , 'surname N' );
UNLOCK TABLES
потом к полученому максимальному id прибавим по 1 в цикле до N-1 и полчим все id вставленных элементов элементов
Отредактированно DJK (10.08.2009 17:58:53)
Неактивен