首页 > 解决方案 > 插入 psycopg2.errors.SyntaxError

问题描述

我尝试在现有表中插入数据:

img_query = "INSERT INTO images (img_name) VALUES ({}) RETURNING id".format(img)
img_id = self.engine.execute(img_query)

我使用 sqlalchemy 引擎执行。结果收到了这种类型的错误:

sqlalchemy.exc.ProgrammingError: (psycopg2.errors.SyntaxError) syntax error at or near "_Group_Large_Group_12_Group_Large_Group_12_15"
LINE 1: INSERT INTO images (img_name) VALUES (12_Group_Large_Group_1...

我试图更改“ 12 ”上的“12_”或替换“-”上的所有“_”。结果没有改变我收到了同样的错误。

标签: pythonpostgresqlsqlalchemy

解决方案


您需要允许 psycopg2 为您进行报价:

img_query = "INSERT INTO images (img_name) VALUES (%s) RETURNING id;"
img_id = self.engine.execute(img_query,(img,))

推荐阅读