Код: Выделить всё
$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
Мобильная версия