列“xxx”不存在第3行:值(xxx,bla,bla)

2024-10-01 09:20:08 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我有这样的查询字符串

executeQuery = '''insert into CarModel
                        (modeli,msubuqi,gamomshvebi)
                         values(%s,%s,%s)''' % ("BMW","X5","Jeep")
cursor.execute(executeQuery)

但当我执行它时,它会给我一个错误: “BMW”列不存在第3行:值(BMW、X5、Jeep) 我不知道为什么要用“宝马”这个专栏,请帮我忙了一整天


Tags: 字符串execute错误cursorinsertvaluesintox5
1条回答
网友
1楼 · 发布于 2024-10-01 09:20:08

格式化后,executeQuery等于:

executeQuery = '''insert into CarModel
                    (modeli,msubuqi,gamomshvebi)
                     values(BMW, X5, Jeep)'''

SQL返回BMW不是列是正常的,因为您的值周围没有引号。请改用execute with parameters:

^{pr2}$

注意逗号而不是%。在

有关详细信息,请参见cursor.execute()定义。我假设您使用的是SQLite,但这与Python中DB-API的约定相同。每个著名的数据库系统都使用这个接口。在

评论后编辑

如果要构造SQL查询,可以使用方法,但要用引号将%s括起来:

executeQuery = '''insert into CarModel(modeli,msubuqi,gamomshvebi)
                     values("%s","%s","%s")''' % ("BMW","X5","Jeep")

相关问题 更多 >