получить последний обновленный столбец в mysql

У меня есть запрос MySQL, который выглядит следующим образом (используя Zend_Db):

$sql = $handle->quoteInto("UPDATE board SET rank=rank+1 WHERE post_id=?", $postid); $handle->query($sql); 

(Ранг не является автоматически увеличивающимся PK). Я хотел бы теперь получить значение rank без предварительного форматирования другого запроса. Я пробовал $handle->lastInsertId(); но он, похоже, не работает, поскольку я не использовал естественный метод автоинкремента MySQL (я не могу – rank является рангом сообщения. Я либо ++, либо – это.)

Любой способ сделать это с предварительной подготовкой другого запроса? Функция, которая вернет последнее измененное значение?

Я не думаю, что это возможно – вам просто нужно сделать SELECT .

Вы можете использовать функцию LAST_INSERT_ID, которую MySQL предоставляет для установки значения, а затем сделать ее доступной через функцию mysql_insert_id () C, которая имеет значение $handle->lastInsertId(); полагается.

Ниже приведена обновленная версия фрагмента кода с внесенными в него изменениями LAST_INSERT_ID:

  $sql = $handle->quoteInto("UPDATE board SET rank=LAST_INSERT_ID(rank+1) WHERE post_id=?", $postid); $handle->query($sql); 

Дайте знать, если у вас появятся вопросы.

НТН,

-Dipin