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

SQLite新手求助:如何用WHERE子句基于双条件删除数据行

多条件删除SQLite数据行的方法

嘿,刚接触SQLite的话,从单条件删除转到多条件其实超简单,核心就是在WHERE子句里用AND把两个约束条件串联起来就行!

基础SQL语法

假设你的数据表名叫your_table(记得替换成你实际的表名),要匹配trick_id和opn_id两个参数,对应的DELETE语句是这样的:

DELETE FROM your_table
WHERE trick_id = ? 
  AND opn_id = ?;

这里的?是SQLite的参数占位符,用来安全传入你的参数值——千万不要直接把参数拼进SQL字符串里,不然会有SQL注入风险,还容易因为特殊字符出问题。

实际代码示例(以Python为例)

如果你用Python的sqlite3库操作,代码大概是这样的:

import sqlite3

def delete_by_two_ids(trick_id_val, opn_id_val):
    conn = sqlite3.connect('your_database.db')
    cursor = conn.cursor()
    
    # 执行带参数的删除语句
    cursor.execute("""
        DELETE FROM your_table
        WHERE trick_id = ? 
          AND opn_id = ?;
    """, (trick_id_val, opn_id_val))
    
    conn.commit()
    conn.close()
    print(f"成功删除了 {cursor.rowcount} 行数据")

把两个参数放进元组传给execute()方法,SQLite会自动处理参数绑定,既安全又省心。

几个关键提醒

  • 确认trick_id和opn_id的字段类型和你传入的参数类型匹配(比如字段是整数,就别传字符串进去)
  • 如果需要匹配任意一个条件(而非同时满足),就把AND换成OR,不过你这里要同时匹配两个,用AND就对了
  • 执行完DELETE后一定要调用commit()提交事务,不然修改不会生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:48:36