php - 有什么方法可以使 MySql 数据库成为 "update itself"吗?

标签 php javascript sql mysql database

我有一个 mysql 数据库,或者更具体地说,我有一个存储 IP 地址的 mysql 表。

这是因为我限制了从我的网站发送的消息的数量。 我只是检查 IP 是否在表中,如果是,我告诉用户“慢下来”。

有没有办法让这个 MySql 表只存储一行(一条记录)x 分钟?

其他解决方案也很受欢迎......

最佳答案

不,但是你可以使用 TIMESTAMP插入/修改行时存储的字段,偶尔会删除早于 x 分钟的行。

DELETE FROM your_table
WHERE your_timestamp < NOW() - interval 5 minute

不过,为了解决您的实际问题,我建议为每个用户和他们上次发送消息的时间创建一个包含一行的表格。假设它被正确索引并且您的查询是高效的,您可能永远不需要从该表中删除任何行,除非您使用用户表的外键并删除相应的用户。当用户发送一条消息时,如果该行已存在,则插入该行,否则更新现有行(如果您愿意,可以为此使用 MySQL 扩展 REPLACE)。

关于php - 有什么方法可以使 MySql 数据库成为 "update itself"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4260865/

相关文章:

php - 显示从 $_FILES 上传的文件

php - 将复选框列表放在可调整大小的区域

javascript - 延迟超链接

java - MySQL select 与 JDBC 的性能问题

mysql - SQL查询从另一个表打印两列值

javascript - 基于 PHP MySQL 表中的值和 JavaScript 值进行选择

php - Jquery .clone() 导致 $.post 失败

javascript - 当我按退格键时仍然显示错误消息(e.which ==8)

javascript - Knockout.js - 设置/更改可观察对象后 UI 未更新

php - 二维数组的使用