Codeigniter:使用insert_batch()检索insert_ids

时间:2012-03-07 06:24:55

标签: php codeigniter activerecord

有没有办法从之前运行的insert_batch()方法中获取所有插入ID(使用$ this-> db-> insert_id())?

理想情况下,它会按插入顺序吐出一个简单的id数组。

1 个答案:

答案 0 :(得分:4)

创建触发器会起作用。

不确定它的gona是否会影响大批量插入的性能

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 ;

它会将所有ID都放入表中,因为您希望它们在数组中编写一个查询,该查询在批处理之后运行并获取表last_inserted_ids中的所有值,然后截断它以便您始终拥有批处理执行后所需的ID。

希望这有助于你的情况。