You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除表中event='repo'且位于event='harv'记录之后的所有行

首先要明确:关系型数据库的表本身是无序集合,要判定记录的“前后位置”必须依赖一个可排序的字段(常见如自增主键id、记录插入时间create_time等),下文默认你的表存在自增主键id作为顺序判定依据,且event = 'harv'仅有1条记录,代码中的你的表名请替换为你实际使用的表名。

最简单实现方案

  1. 先查询确认待删除记录,确认无误后再执行删除,避免误操作:
SELECT * FROM 你的表名
WHERE 
  event = 'repo'
  AND id > (SELECT id FROM 你的表名 WHERE event = 'harv' LIMIT 1)
  1. 确认待删记录符合预期后,执行删除语句:
  • MySQL数据库写法:
DELETE FROM 你的表名
WHERE 
  event = 'repo'
  AND id > (SELECT t.id FROM (SELECT id FROM 你的表名 WHERE event = 'harv' LIMIT 1) t)
  • PostgreSQL、SQLite等数据库写法:
DELETE FROM 你的表名
WHERE 
  event = 'repo'
  AND id > (SELECT id FROM 你的表名 WHERE event = 'harv' LIMIT 1)

如果你的表中存在多条event = 'harv'的记录,需要删除最后一条harv之后的repo,把上述子查询里的SELECT id修改为SELECT MAX(id)即可。

内容的提问来源于stack exchange,提问作者sdom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 01:30:04