SQLite使用query方法查询时抛出异常,提示不存在name1列求助
解决SQLite查询时提示“不存在name1列”的异常
嘿,这个问题我碰到过好几次,大概率是SQL语句的写法或者表结构匹配的问题,给你几个具体的排查点:
- 检查查询条件的字符串引号:如果你的SQL里写的是
WHERE exchange=ted1,SQLite会把ted1当成列名而不是字符串值,必须给字符串加单引号:WHERE exchange='ted1'。这是最常见的坑! - 核对查询语句里的字段名:报错说找不到
name1列,说明你的SELECT语句里肯定用到了这个字段,但你的表根本没定义它。仔细看看是不是手滑把name写成name1了? - 参数化查询的写法是否正确:如果用了ORM或者sqlite3的参数绑定,别直接把变量拼进SQL里。比如Python里应该这么写:
直接拼接字符串不仅容易出语法错,还会有SQL注入风险。cursor.execute("SELECT * FROM your_table WHERE exchange=?", ('ted1',)) - 确认表结构是否和预期一致:先跑这条命令看看表的实际结构:
检查输出里有没有PRAGMA table_info(你的表名);name1列,以及exchange列是否存在、类型对不对。
要是能把你的测试代码贴出来,我能帮你更快定位问题,但先从这几点排查应该能解决大部分情况~
内容的提问来源于stack exchange,提问作者Ted pottel
相关产品推荐
相关产品推荐

