Привет, как думаете можно ли получить в виде массива результат вставки нескольких строк одним запросом в виде соответствующих им $mysqli->insert_id?
Ну чтоб не загонять все в цикл и не дергать по одной.
INSERT INTO `tab` (`name`) VALUES ('one'),('two')
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Игорь_Vasinsky
29.10.2013 - 11:30
$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
Игорь_Vasinsky
Цитата |
$mysqli->insert_id - что это? это id последней вставленной записи
|
...вот я и думаю
Цитата |
INSERT INTO `tab` (`name`) VALUES ('one'),('two') |
вставлются 2 строки...
сделав $mysqli->insert_i узнаю id только для 'two', получить бы и для one тоже.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
glock18
29.10.2013 - 11:35
Цитата (ABC @ 29.10.2013 - 07:16) |
Ну чтоб не загонять все в цикл и не дергать по одной. |
напрямую никак. Выкрутиться попробовать можно в некоторых ситуациях
T1grOK
29.10.2013 - 11:38
Здесь чистая математика. Количество вставляемых строк, последний вставленный ID и вычитанием получаем предыдущий вставленный ID.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Цитата |
Здесь чистая математика. Количество вставляемых строк, последний вставленный ID и вычитанием получаем предыдущий вставленный ID. |
гм...пф...точно! Там же приоритет во время вставки, других вставок быть не может от другого процесса! Просто вычесть количество строчек и получу первый id!
Спасибо.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Игорь_Vasinsky
29.10.2013 - 11:46
а если 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
Игорь_Vasinsky
А как он может проскочить? Ну удалилась строка...с каким-нибудь id других строк это ведь не коснется.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
bestxp
29.10.2013 - 12:08
транзакцию используй, тогда не страшно будет за то что какой-то запрос проскочит xD или еще какой косяк будет
redreem
29.10.2013 - 12:11
можно вырубить автоинкремент и учитывать id средствами пыха
Игорь_Vasinsky
29.10.2013 - 12:14
Цитата |
можно вырубить автоинкремент и учитывать 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
Транзакции уже используются...а по архитектуре DELETE вновь вставленной строки не может быть в том же месте в то же время ... строка должна получить для этого статус 1 а при вставке у нее 0.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
redreem
29.10.2013 - 12:23
Игорь_Vasinsky
в файле
Игорь_Vasinsky
29.10.2013 - 12:40
не серъёзно
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
29.10.2013 - 12:46
Игорь_Vasinsky
лишний запрос? в файле в 100500 раз быстрее.
если задача специфична и сей костыль критичен, то при чем тут серъезность?
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.