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

如何编写条件触发的SQL删除查询?附示例数据及预期结果

条件删除SQL语句实现方案

刚好能搞定你的需求,直接用带EXISTS子查询的DELETE语句就行,逻辑和你描述的伪代码完全匹配:

DELETE FROM table1
WHERE indexi = 85 AND user = 290045
AND EXISTS (
    SELECT 1
    FROM table1
    WHERE indexi = 500 AND user = 290045
);

逻辑说明

  • 子查询部分会先检查表中是否存在user=290045且indexi=500的行
  • 如果子查询返回结果(也就是存在符合条件的行),就会执行外层的DELETE操作,删掉user=290045且indexi=85的记录
  • EXISTS的优势是效率高,只要找到第一条匹配的记录就会停止查询,不用遍历全表统计数量

测试验证

原表数据:

userline_noheaderindexi
29004500500
2900451085
7330033

执行上述SQL后,预期结果:

userline_noheaderindexi
29004500500
7330033

完全符合你想要的效果~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 21:57:35