我的教授希望我们创建一个基于网络的评论系统,其中用户最多可以发送 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/