检查是否有一行添加到表mysql

时间:2011-10-09 15:28:48

标签: php mysql

我有一个包含订单的表,随着时间的推移,用户会将订单添加到表中。 我想实现一个服务,检查是否有一行添加到表中。 有没有具体的方法呢? 谢谢!

1 个答案:

答案 0 :(得分:1)

如果您想知道自上次检查以来添加了哪些行,请在每一行中添加一个时间戳,并跟踪到目前为止您所见过的最新行的某处(单独)。要查找新行,请查询时间戳比您之前看到的最新行的所有行。然后从结果集中获取最新的时间戳,并使用它来更新“到目前为止看到的最新行”变量。

数据库本身不会跟踪新添加的行,因为“new”的含义取决于谁在询问。六个月前添加的一行对于那时没有检查的人来说是“新的”。这就是为什么你必须使用时间戳,并让应用程序跟踪哪个时间戳当前标记“旧”和“新”之间的边界。

编辑:实际上,您可能希望使用自动增量整数列,而不是时间戳。使用时间戳时,可能会有两个行在一段时间内添加得如此接近以至于它们获得相同的时间戳,并且如果应用程序在仅插入其中一行的情况下执行查询时,它将“错过”另一个下次检查新行时,因为它认为已经看到了时间戳。对于每个新行总是增加的值将避免该问题,并且许多表已经有一个(用作主键)。