我的教授希望我们创建一个基于 Web 的评论系统,其中用户最多可以发送 3 条评论,如果用户决定创建另一个评论,而他在数据库中已经有 3 条以他的名字命名的评论,程序应该删除最旧的评论并保存新的评论。
我想到的是获取以用户命名的行,如果它大于或等于 4,我应该删除用户名 = 会话用户的行并插入新记录。虽然这只是理论上的,但这是最好的方法吗?你们还有其他建议吗?我究竟如何选择要删除的行?我是否基于最高comment_id?
读取:在 SQL 数据库中仅保留前 50 条记录,并删除其余记录
所以基本上这样做:
创建带有注释的自动递增 ID。然后:
DELETE FROM comments
WHERE
id NOT IN (
SELECT * FROM (
SELECT id
FROM comments
ORDER BY date
desc LIMIT 3) s
)
不要删除数据库中的行,只需对选择查询执行限制 0,4在创建日期之前订购