gpt4 book ai didi

php - 如果超出最大值,则删除表中的旧行

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

当用户打开我网站上的任何帖子时,我都会在表中插入,这样我就可以实时了解“网站上发生了什么”

mysql_query("INSERT INTO `just_watched` (`content_id`)  VALUES ('{$id}')");

但现在有问题,因为每天有超过 100K 的点击量,这是每天该表中 100K 的新行,有任何方法可以将表限制为最大 100 行,如果超过最大值,则删除旧的 90 行并插入再次或类似的事情,不知道什么是正确的方法来做到这一点

我的 table 刚刚观看

ID - content_id

ID INT(11) - 自动增量
content_id INT(11)

最佳答案

我想到的最简单的方法是使用 php 逻辑来删除和插入您的信息。然后,每次用户打开新帖子时,您都会将计数添加到数据库中。 (这你已经在做了)

The new stuff comes here

在插入之前输入一个控件,这意味着在插入任何内容之前,您将首先计算所有行,如果不超过 100 行,则添加新行。

如果它确实超过 100 行,那么在插入新行之前,首先执行删除语句,然后插入新行。

示例(sudo 代码):

$sql = "SELECT COUNT(*) FROM yourtable";
$count = $db -> prepare($sql);
$count -> execute();

if ($count -> fetchColumn() >= 100) { // If the count is over a 100
............... //Delete the first 90 leave 10 then insert a new row which will leave you at 11 after the delete.
} else {
.................. // Keep inserting until you have 100 then repeat the process
}

More information on counting here. Then some more information on PDO here.

希望这有帮助:)

祝你好运。

Also information on how to set up PDO if you haven't already.

我会做什么? :

每天晚上 12:00 运行一个 cron 作业,删除过去一天的所有行。但这只是一些建议。祝你玩得开心。

关于php - 如果超出最大值,则删除表中的旧行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18815592/

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