Страница 1 из 1

Получить id последней добавленной записи. batchInsert

Добавлено: 2021.06.10, 21:49
yura1976
Приветствую всех!
Использую

Код: Выделить всё

$connection = Yii::$app->db;
$transaction = $connection->beginTransaction();
 try {
	$connection->createCommand()->batchInsert(...)->execute();
	//здесь нужно получить id последней добавленной записи $lastinsertID
	$lastinsertID = $connection->getLastInsertID();
	
	//здесь еще один запрос с batchinsert, в котором нужно использовать $lastinsertID
	$connection->createCommand()->batchInsert(...)->execute();

	$transaction->commit();
 } catch (\Exception $e) {
        $transaction->rollBack();
 }
$lastinsertID получается = 0. Записи в таблицу в результате выполнения запроса вставлены. Подскажите, пожалуйста, можно ли как-то получить id последней добавленной записи

Re: Получить id последней добавленной записи. batchInsert

Добавлено: 2021.06.10, 22:25
masson
Наверное внутри транзакции это не сработает, надо спрашивать после $transaction->commit

Re: Получить id последней добавленной записи. batchInsert

Добавлено: 2021.06.10, 22:30
yura1976
masson писал(а): 2021.06.10, 22:25 Наверное внутри транзакции это не сработает, надо спрашивать после $transaction->commit
Пробовал без транзакции. Тот же результат. Да и, если спрашивать после $transaction->commit, то смысл использования транзакции в моем случае теряется.

Re: Получить id последней добавленной записи. batchInsert

Добавлено: 2021.06.10, 22:47
yura1976
Решил проблему. Моя невнимательность. Для первичного ключа не стоял autoincrement. Поставил autoincrement и все заработало. Но в таком случае возникает вопрос, если бы я использовал первичный ключ без autocincrement'а, то можно ли определить id последней добавленной записи