我有这个文件.php正在执行
SELECT 'NAME' FROM users WHERE CONDITION
我想跟踪为每个呼叫提供的行。
所以我想为每一行保留一个计数器。
PHP 中为获取的每一行更新计数器的最有效方法是什么?
您需要为查看/提取计数添加额外的列
SELECT
...., views+1 as view
FROM table_name
WHERE ....
UPDATE table_name
SET views = views + 1
WHERE ...;
你可以把它放在一个Transaction
您可以随时向该表添加fetched_at
列,然后在获取记录时更新该列:
UPDATE users SET fetched_at=UTC_TIMESTAMP() WHERE ...condition...
然后像往常一样获取。您将对这两种情况应用相同的条件。请记住,如果您使用的是JOIN
这可能更难实现。
如果需要保留计数,请使用INT
列:
UPDATE users SET fetched_count=fetched_count+1 WHERE ...condition...