所以我使用WampServer和默认的phpMyAdmin存储这个名为Typing的SQL表。
现在我想将输入列设置为超过五秒前的任何行的输入列设置为0。
对于前。我只是将第一行的输入列设置为1,我的数据库检测到自写入1以来的时间,然后设置一个5秒的计时器以将该值恢复为1如果1在此期间被另一个1覆盖,则该计时器应该休息。
我应该怎么做?我应该为每条记录的“时间戳”添加一列吗?如何在没有用户输入的情况下让我的数据库不断检查超过5秒的条目?我是否需要一个永远在线的PHP脚本或数据库触发器,我该怎么做呢?
答案 0 :(得分:0)
正如@JimL建议的那样,仅仅五秒之后清除记录可能有点过于雄心勃勃。
获取有关您尝试完成的内容的更多信息可能会有所帮助,但我会以一般性的方式回答您应该回答的问题
我将如何处理这个问题是任何查询都应该检查不到五秒钟的记录(我假设你要查询数据并且只想要少于五秒的记录,否则我会'我并没有真正关注你的问题。)
每天或每小时如果您拥有那么多数据,您可以运行预定作业(通过MySQL本身安排,而不是通过cron / Windows预定任务)来清除旧记录。您可以使用phpMyAdmin进行设置(" Events"标签),尽管它实际上是一个不需要phpMyAdmin的MySQL功能。
答案 1 :(得分:0)
我知道了,我为每条记录添加了一个时间戳并使用了这段代码:
mysqli_query($con,"DELETE FROM 'typing' WHERE TIMESTAMPDIFF(SECOND,recordDate, CURRENT_TIMESTAMP) > 1");
虽然这不是一项计时工作,但它只会在有人访问该网站时运行,但它足以满足我的需求。感谢大家的帮助:)。