我想提供一个Python列表
sql_foramt= ['HP7CXNGSUFEPZCO4GS5RQPY6XY', '9475EFWZCNARPEJEZEMXDFHIBI',
'6ECWZUQGEJCR5EZXDH9URCN53M', 'XZ9P6KTDGREM5KIXUO9IHCTKAQ']
作为Python中上述SQL查询的输入
cur.execute("""CREATE TEMP TABLE ##Validation_Marc (
Codes varchar(250) );
INSERT INTO ##Validation_Marc
VALUES
{}.format(','.join(list_name);
我正在尝试使用psycopg2
库通过Python运行SQL查询。我尝试过上述方法,但每次尝试都会出现错误:
Traceback (most recent call last): File "", line 48, in psycopg2.errors.SyntaxError: syntax error at or near "{" LINE 8: {}.format(','.join(list_name);
我无法前进,请帮忙
不太清楚您希望如何插入列表,但让
psycopg2/execute
为您格式化查询:输出:
注意:
我必须更改表名,我的postgres db不允许该名称:
您的代码中有两个问题:
cursor.execute
调用中运行两个单独的SQL命令。这是对pythondbapi的误解,它通常只允许每次执行调用一个命令李>format
关键字。这是字符串插值的一般Python语法问题。具体来说,.format
是一个在字符串上运行的方法。见docs李>考虑将SQL语句分离并正确使用^ {CD4>}来插入^ {{CD5>}占位符^ ^ a2}。为了便于说明,在单独的一行上调用了
.format
相关问题 更多 >
编程相关推荐