gpt4 book ai didi

php - MySQL 将 PHP cron 作业 SQL 合并到一个查询中可能吗?

转载 作者:行者123 更新时间:2023-11-29 07:23:20 25 4
gpt4 key购买 nike

我在 php-cron 作业上作为 php-script 运行以下内容。我想知道是否有可能我可以在一个 MySQL 查询中动态执行相同的操作?

$sql = "SELECT COUNT(`user_to`) AS fav_count , user_to  FROM `users_favorite` WHERE 1 GROUP BY `user_to` ";
$result = mysql_query($sql, $db) or die("Error in query:" . mysql_error());
while ($row = mysql_fetch_array($result)) {
$fav_count = $row['fav_count'];
$user_id = $row['user_to'];
$sql1 = "UPDATE user SET fav_count='" . $fav_count . "'
WHERE user_id=" . $user_id . " ";
$result1 = mysql_query($sql1, $db) or die("Error in query:" . mysql_error());
}

最佳答案

您可以使用单个updatejoin 来实现此目的:

UPDATE user u JOIN
(SELECT COUNT(`user_to`) AS fav_count, user_to
FROM `users_favorite`
GROUP BY `user_to`
) uf
ON uf.user_to = u.user_id
set u.fav_count = uf.fav_count;

如果您希望汇总表中的计数保持最新,您可能需要考虑使用触发器来维护汇总表中的计数。然而,这将需要重新设计系统的这个组件。

关于php - MySQL 将 PHP cron 作业 SQL 合并到一个查询中可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35339337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com