Как получить последний идентификатор вставки при использовании подзапроса в Kohana
Как мне вернуть правильный $ insert_id при использовании подзапроса в Kohana?
Я использую метод запроса, чтобы вернуть $ insert_id и $ disabled_rows. Он возвращает правильное значение для $ disabled_rows, но возвращает '1' для $ insert_id, что неверно.
Запрос ниже:
$sub = DB::select('id', 'username', 'email', 'lastVisitDate')->from('jos_users');
$qry_migrate_users = DB::insert('temp_users', array('old_id', 'username', 'email_work', 'last_login'))->select($sub);
list($insert_id, $affected_rows) = $qry_migrate_users->execute($this->conn_target);
1 ответ
MySQL возвращает только последний идентификатор вставки и затронутые строки. Есть только один способ сделать то, что вы хотите - выполнить ваш подвыбор в массив, и с помощью foreach сделать одиночные вставки. Но это немного медленнее! Или после вставки сделать что-то подобное:
SELECT id FROM temp_users WHERE email IN (select email from jos_users)
Вы могли бы понять логику