[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как получить все $mysqli->insert_id за раз.
Страницы: 1, 2, 3, 4
GET
Привет, как думаете можно ли получить в виде массива результат вставки нескольких строк одним запросом в виде соответствующих им $mysqli->insert_id?

Ну чтоб не загонять все в цикл и не дергать по одной.

INSERT INTO `tab` (`name`) VALUES ('one'),('two')


_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Игорь_Vasinsky
$mysqli->insert_id - что это?
это id последней вставленной записи

сколько последней вставленной записи может быть за операцию? одна

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
GET
Игорь_Vasinsky
Цитата
$mysqli->insert_id - что это?
это id последней вставленной записи


...вот я и думаю
Цитата
INSERT INTO `tab` (`name`) VALUES ('one'),('two')

вставлются 2 строки...

сделав $mysqli->insert_i узнаю id только для 'two', получить бы и для one тоже.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
glock18
Цитата (ABC @ 29.10.2013 - 07:16)
Ну чтоб не загонять все в цикл и не дергать по одной.


напрямую никак. Выкрутиться попробовать можно в некоторых ситуациях
T1grOK
Здесь чистая математика. Количество вставляемых строк, последний вставленный ID и вычитанием получаем предыдущий вставленный ID.

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
GET
Цитата
Здесь чистая математика. Количество вставляемых строк, последний вставленный ID и вычитанием получаем предыдущий вставленный ID.


гм...пф...точно! Там же приоритет во время вставки, других вставок быть не может от другого процесса! Просто вычесть количество строчек и получу первый id!

Спасибо.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Игорь_Vasinsky
а если delete проскочил?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
GET
Игорь_Vasinsky
А как он может проскочить? Ну удалилась строка...с каким-нибудь id других строк это ведь не коснется.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
bestxp
транзакцию используй, тогда не страшно будет за то что какой-то запрос проскочит xD или еще какой косяк будет
redreem
можно вырубить автоинкремент и учитывать id средствами пыха smile.gif
Игорь_Vasinsky
Цитата
можно вырубить автоинкремент и учитывать id средствами пыха


где хранить? или select каждый раз делать?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
GET
Транзакции уже используются...а по архитектуре DELETE вновь вставленной строки не может быть в том же месте в то же время ... строка должна получить для этого статус 1 а при вставке у нее 0.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
redreem
Игорь_Vasinsky
в файле
Игорь_Vasinsky
не серъёзно

select тогда уже

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
redreem
Игорь_Vasinsky
лишний запрос? в файле в 100500 раз быстрее.
если задача специфична и сей костыль критичен, то при чем тут серъезность?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.