检索MySQL的最后更新列(retrieve last updated column in mysq

2019-09-17 17:36发布

我有一个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是帖子的排名我要么++或-它。)

任何方式与预成型另一个查询做到这一点? 将返回最近修改的值的函数?

Answer 1:

我不相信这是可能的-你只需要做一个SELECT



Answer 2:

您可以使用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);

让我知道如果您有任何问题。

HTH,

-Dipin



文章来源: retrieve last updated column in mysql