为PHP MYSQL中的每个服务行保留一个计数器?

时间:2013-01-24 18:14:34

标签: php mysql

我有 file.php 文件正在执行

SELECT 'NAME' FROM users WHERE CONDITION

我想跟踪每次通话所服务的行数 所以我想为每一行保留一个计数器。

PHP 中为获取的每一行更新计数器的最有效方法是什么?

2 个答案:

答案 0 :(得分:1)

您需要为查看/获取次数添加额外的列

SELECT          
    ...., views+1 as view
FROM table_name
WHERE ....

UPDATE table_name
SET views = views + 1
WHERE ...;

你可以把它放在Transaction

答案 1 :(得分:-1)

您始终可以向该表添加fetched_at列,然后在获取记录时更新;

UPDATE users SET fetched_at=UTC_TIMESTAMP() WHERE ...condition...

然后像往常一样抓取。您将对两种情况应用相同的条件。请注意,如果您使用的是JOIN,则实施起来可能要困难得多。

如果您需要计算,请使用INT列:

UPDATE users SET fetched_count=fetched_count+1 WHERE ...condition...