0

我有这个file.php文件正在执行

SELECT 'NAME' FROM users WHERE CONDITION

我想跟踪为每个呼叫提供服务的行。
所以我想为每一行保留一个计数器。

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

4

2 回答 2

1

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

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

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

你可以把它放在一个Transaction

于 2013-01-24T18:23:59.513 回答
-1

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

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

然后像往常一样获取。您将对这两种情况应用相同的条件。请记住,如果您正在使用JOIN这可能会更难以实现。

如果您需要保留计数,请使用INT列:

UPDATE users SET fetched_count=fetched_count+1 WHERE ...condition...
于 2013-01-24T18:20:13.567 回答