Yii2:如何通过使用batchInsert添加多行来获取每个记录主键?

时间:2015-10-16 14:02:43

标签: yii yii2

我正在使用此batchInsert命令一次添加多行。我想获得每个记录主键(最后插入ID)。我怎么能这样做?

  $insertCount = Yii::$app->db->createCommand()
             ->batchInsert(
             Testuser::tableName(), $columnNameArray,$bulkInsertArray)
->execute();

1 个答案:

答案 0 :(得分:0)

我建议id列是AUTO_INCREMENT。 所以我们可以得到最后插入的id,然后计算第一个插入的id(更正):

$firstId = Yii::$app->db->getLastInsertID();
$lastId  = $firstId + $insertCount - 1;

然后插入的行包含从$ firstId到$ lastId的ID。 事实证明,当进行批量插入时,最后一个插入id返回第一个插入行的id。