MySQL,如何使用带时间戳的减法?

时间:2011-10-08 06:44:34

标签: php mysql

我有一个名为test的表,其中一个字段名为times

我以UNIX时间戳格式插入时间:1318055933

然后我想做一个更新,其中(当前时间 - 次数)> 600

UPDATE test SET times= 0 WHERE (UNIX_TIMESTAMP() - times> 600);

此查询似乎无效,

任何想法我做错了什么?

感谢

1 个答案:

答案 0 :(得分:1)

尝试将UNIX_TIMESTAMP()函数转换为有符号整数。

UPDATE test SET times= 0 WHERE (CAST(UNIX_TIMESTAMP() AS SIGNED) - times> 600);

我在MySQL manual找到了这个。根据{{​​1}}列的数据类型,您可能还必须强制转换它。

  

如果要减去times列,可能需要将结果转换为有符号整数。请参见第11.10节“强制转换函数和运算符”。