php - 如果有 4 行或更多行以用户名命名,如何删除行

标签 php html mysql database

我的教授希望我们创建一个基于网络的评论系统,其中用户最多可以发送 3 条评论,如果用户在数据库中已经有 3 条以他命名的评论时决定创建另一个评论,则程序应该删除最旧的并保存新的。

我的想法是获取以用户命名的行,如果它大于或等于4,我应该删除 username = session user 的行并插入新记录。尽管这只是理论上的,但这是解决这个问题的最佳方法吗?你们还有其他建议吗?我到底如何选择要删除的行?我是否以最高的 comment_id 为基础?

最佳答案

阅读:Leave only first 50 records in SQL database and delete the rest

所以基本上这样做:

使用注释创建自动增量 ID。 然后:

DELETE FROM comments
WHERE
  id NOT IN (
    SELECT * FROM (
      SELECT id
      FROM comments
      ORDER BY date
      desc LIMIT 3) s
  )

关于php - 如果有 4 行或更多行以用户名命名,如何删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28192159/

相关文章:

Javascript html替换标签不起作用

javascript - 如何使用 JQuery 编辑和更新动态表中的值?

javascript - Nodejs和mysql,查询中的多个条件

mysql - 将文本列设为唯一键

Php数组_push不推送另一个数组push

php - 当 URL 包含点 (.) 时 Symfony2 出错

php - Zend Date MySQL 时区偏移问题

php - Docker PHP MySQL 连接被拒绝

php - 如何通过 Axios 将文件发送到 Laravel

html - 向右添加列 - HTML & CSS