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

标签 php mysql pdo timestamp laravel

有几个类似的问题,但我会把这个放在一起。

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

所以记录正在更新,我可以在运行查询之前检查 phpMyAdmin,然后再检查差异。但是,我正在对受影响的行计数执行 var_dump(),它仍然为 0。

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

那么触发行受影响需要什么?即使它在更新成功后受到影响。

另外,我正在使用 Laravel PHP 框架及其查询构建器。目前正在那里进行一些调试,看看是否有问题,但到目前为止一切似乎都很好。

编辑:抱歉,我在上面输入了错误的内容。当我完全更改另一列的值时,受影响的行是 1,而不是 0。

最佳答案

对于那些好奇的人,我求助于使用 INSERT INTO... ON DUPLICATE KEY UPDATE 来获得预期的结果。我仍然不明白为什么 MySQL 没有将记录报告为受到影响。

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

关于php - 正在更新 MySQL 时间戳记录,但受影响的行仍然为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7505271/

相关文章:

php - PDO 在 MYSQL_ATTR_INIT_COMMAND 中设置 session 和设置名称

php pdo保存查询数据

php - wordpress 在 wp admin 中也采用了 thme 的风格

php - jQuery/Ajax/PHP 链式选择框帮助

mysql - 在部门表中插入值

mysql - 在具有 1.28 亿行的表上重建索引

php - 插入或删除时,与 PDO 的 DB2 连接抛出一般错误 -7008

php - mysql_query 在返回时保留在表中创建的数据类型?

php - 这段代码有什么作用?

php - 如何使用 PHP 在 MySQL 中显示多行?