首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在更新的MySQL时间戳记录,但受影响的行仍为0

正在更新的MySQL时间戳记录,但受影响的行仍为0
EN

Stack Overflow用户
提问于 2011-09-21 19:08:22
回答 2查看 823关注 0票数 7

有几个类似的问题,但我会把这个混为一谈。

基本上,我有一个时间戳列(这是一个int),而我的更新之一只是更新这个时间戳列,有时这是一个几乎不明显的距离。例如,它可能从1316631442更改为1316631877。两者之间并没有太大的区别。

因此,记录正在更新,我可以在查询运行之前和之后签入phpMyAdmin,然后查看差异。但是,我正在对受影响的行计数执行一个var_dump(),它仍然是0。

如果同时将另一列更新为不同的值,则受影响的行为1。

那么,如何才能触发受影响的行呢?即使它受到影响,因为更新是成功的。

此外,我还使用了Laravel框架及其查询生成器。目前正在做一些调试,看看是否有什么事情可能是错的,但到目前为止,一切似乎都很好。

编辑:对不起,我把上面的东西打错了。当我完全更改另一列的值时,受影响的行是1,而不是0。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-22 16:16:59

对于那些好奇的人,我求助于使用插入..。对重复键进行更新,以达到预期的结果。我仍然不明白为什么MySQL没有报告这一记录受到影响。

我还尝试使用PHP、mysql_query()和相关函数来检查受影响的行,但它也不是那样工作的。也许MySQL认为这种改变不值得将记录标记为受影响的。

票数 3
EN

Stack Overflow用户

发布于 2017-02-16 09:00:09

我可以用MySql 5.1复制这个问题,但不能用MySQL5.7。

在早期版本中

代码语言:javascript
复制
UPDATE `test`
SET
    `time` = TIMESTAMPADD(MINUTE, 10, NOW())
WHERE
    `id = 1

更新时间戳,但消息是零行已受到影响。

对于更高版本的MySql,相同的查询会给出一行受影响的结果。

这似乎是一个已经修复的MySql错误。

是时候让服务器管理员来更新一些东西了?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7505271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档