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

调用SDK删除数据库单条数据报错:多WHERE条件语法错误

错误原因

SQL语法要求WHERE子句中的多个过滤条件必须使用逻辑运算符(AND/OR)连接,不能直接用逗号分隔。你代码中DELETE FROM books WHERE title=?, pages=?语句里两个条件之间的逗号违反了该语法规则,是报错的直接原因。你标记的第一个箭头位置的问题判断正确,Python参数元组内的逗号属于正常语法,不存在问题。

修复代码

将删除语句中条件之间的逗号替换为AND即可:

def delete_book(book):
    c = cursor()
    with c.connection:
        c.execute("DELETE FROM books WHERE title=? AND pages=?", (book.title, book.pages))
    row_count = c.rowcount
    c.connection.close()
    return row_count

优化建议

如果你的books表设计了主键字段(例如自增id),优先使用主键作为删除条件,可避免存在多本同名、同页数的书籍时出现误删的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:24:01