2014-03-13 80 views
-1

我有以下查询:检索最后更新的时间戳在MySQL

UPDATE myTable SET myTime=utc_timestamp() WHERE myID=something 

我想取回所设定的时间戳,最好在与像mysql_insert_id相同的查询()。

谢谢大家!

+0

怎么样,而不是使用DB的时间功能,您解析当前时间('时间()')从它的PHP,然后你有它在PHP和分贝 – 2014-03-13 20:23:44

+0

是的,这确实是一个很好的方式来做到这一点。只是想知道为什么我没有想到它!我只是习惯使用utc_timestamp()我猜...但是,我认为如果你有一个ON UPDATE CURERNT_TIMESTAMP表,你将如何检索更新后的新时间戳?正在做一个选择唯一的方法? –

+0

是的,做一个选择是唯一的方式 – 2014-03-13 20:48:51

回答

-1

首先,mysql_insert_id()正在做一个新的查询。为什么你想要返回当前保存的数据?然后你可以通过Datacontainer/Variable获得它。

mysql_insert_id()只是返回表的最后插入的id。它没有提供更多的数据。

要真正回答你的问题,你应该先告诉你想要做什么。

重要提示:mysql_ insert _id()不会返回更新行的ID!

如果你想获得一个更新的行的最后插入的ID - 看看这个答案https://stackoverflow.com/a/14002784/3048505

+0

呃......我完全明白mysql_insert_id是什么,它是干什么用的。我需要知道的是已更新的时间戳。我无法事先知道它。所以我想知道是否有**像** msql_insert_id那样会告诉我在最后一次更新中使用了什么时间戳......或者如果有一种方法可以在同一个查询中返回**使用的时间戳**。我认为这是一个合理的问题,不应该被拒绝... –

+0

在相同的查询中,这是不可能的。您必须使用您更新的ID来查询行。我没有声望投下这个问题 - 不是我! 您将不得不使用PHP(time())中检索到的时间戳或将另一个选择查询放入您的表中。 –