Codeigniter: получение insert_ids с использованием insert_batch () - PullRequest
2 голосов
/ 07 марта 2012

Есть ли способ получить все идентификаторы вставки (используя $ this-> db-> insert_id ()) из ранее запущенного метода insert_batch ()?

В идеале он будет выдавать простой массив идентификаторов в том порядке, в котором они были вставлены.

1 Ответ

4 голосов
/ 07 марта 2012

создание триггера будет работать.

не уверен, что его влияние повлияет на производительность при огромной пакетной вставке

DELIMITER $$

CREATE
    TRIGGER `test`.`getids` AFTER INSERT
    ON `database_name`.`table_name`
    FOR EACH ROW BEGIN
        INSERT INTO last_inserted_ids (last_insertId) VALUES(LAST_INSERT_ID());

    END$$

DELIMITER ;

, он получит все идентификаторы в таблице, как вы хотите, чтобы они были вмассив пишет запрос, который выполняется точно после пакета и получает все значения из таблицы last_inserted_ids, а затем усекает его, чтобы у вас всегда были нужные идентификаторы после выполнения пакета.

надеюсь, это поможет вашему делу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...