【发布时间】:2011-11-22 05:54:50
【问题描述】:
有几个类似的问题,但我会把这个混在一起。
基本上,我有一个时间戳列(它是一个 int),我的更新之一只是更新这个时间戳列,有时它几乎没有明显的距离。例如,它可能从 1316631442 变为 1316631877。两者之间并没有太大的区别。
所以记录正在更新,我可以在查询运行之前检查 phpMyAdmin,然后再查看差异。但是,我正在对受影响的行数执行 var_dump(),它仍然为 0。
如果我同时将另一列更新为不同的值,则受影响的行数为 1。
那么如何触发受影响的行?即使更新成功后受到影响。
另外,我正在使用 Laravel PHP 框架及其查询构建器。目前正在那里进行一些调试,看看是否有问题,但到目前为止一切似乎都很好。
编辑:对不起,我在上面输入了错误的内容。当我完全更改另一列的值时,受影响的行是 1,而不是 0。
【问题讨论】:
-
该行是由
ON UPDATE CURRENT_TIMESTAMP更新还是由您的查询明确设置? -
它是通过查询明确设置的,如果有区别的话,使用 PHP 的 time()。
-
更新后您的框架是否会自行执行另一个查询?
-
@ceejayoz 我的想法完全正确。
-
@ceejayoz 我已经转储了在运行此查询之后执行的查询数组,它是列出的最后一个查询,因此它没有运行另一个查询。
标签: php mysql pdo timestamp laravel