SQLite执行SELECT语句时VALUES附近报错,如何解决?
问题解决方法
你的代码有两处错误,导致了这个语法报错:
- SQL语句语法错误:SELECT 查询语句不需要
VALUES子句,这是 INSERT/UPDATE 这类写入操作才会用到的语法,直接删除语句里的VALUES (?)即可。 - 参数格式错误:
('guest')在 Python 里是普通字符串,不是元组。传递单个参数时,必须写成('guest',)(末尾加逗号),否则 sqlite3 会把它拆成单个字符来匹配参数,引发参数数量不匹配的问题。
修正后的代码如下:
get_all_parking_by_type = 'SELECT * FROM Parking WHERE type = ? AND user_id = 0' cursor.execute(get_all_parking_by_type, ('guest',)) guests = cursor.fetchall()
内容的提问来源于stack exchange,提问作者GoodGuy
相关产品推荐
相关产品推荐

