Могу ли я получить идентификатор INSERT/UPDATE с помощью одного запроса? [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Могу ли я получить идентификатор INSERT/UPDATE с помощью одного запроса? [дубликат]

Сообщение Anonymous »

У меня есть следующий код:

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

$put_tag_rq = $DBH->prepare( "
INSERT INTO `tags`
SET
`name` = :name
ON DUPLICATE KEY UPDATE
`id` = `id`
" );
$put_tag_rq->execute( array(
'name' => $tag,
) );
$tag_id = $DBH->lastInsertId();
echo "***********Last insert ID = $tag_id
";
Обратите внимание, что имя также является ключом вкладки.

Этот код работает нормально, если тег вставки имени еще не представлен в таблице. Но LastInsertId() возвращает 0, если name уже существует.

Конечно, я мог бы сделать два запроса: сначала проверить, есть ли уже тег name представлен на вкладке (и получить его идентификатор), а второе имя для вставки уже представлено во вкладке.

Но я думаю, что так и должно быть проще. Не так ли?

Подробнее здесь: https://stackoverflow.com/questions/261 ... le-request
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»