首页 > 解决方案 > 如何使用 psycopg2 指定列名

问题描述

我有一条 SQL 语句,例如:

INSERT INTO my_table (col1, col2, col3) VALUES (1,2,3)

我正在使用 psycopg2 插入数据,如下所示:

 cur.execute(
        sql.SQL("INSERT INTO{} VALUES (%s, %s, %s)").format(sql.Identifier('my_table')),[1, 2, 3]
        )

我没有看到如何在插入语句中指定列名?上面的 sql.sql 是“假设” 1,2,3 的顺序是 col1, col2 和 col3。例如,有时我想说只插入 col3,我将如何使用 sql.sql 指定列名?

标签: python-3.xpostgresqlpsycopg2

解决方案


execute只是执行 SQL 代码,因此您可以按照标准PostgreSQL INSERT 语句提及列,例如

INSERT INTO TABLE_ABC (col_name_1,col_name_2,col_name_3) VALUES (1, 2, 3)"

推荐阅读