我试图使用psycopg2从postgres数据库中的特定表中获取某组对象.我在将变量传递给cursor.execute(SQL)命令时看到的所有建议似乎都不适用于两种类型的变量
这是我累了第一次没用的东西:
SQL = 'SELECT * FROM %s WHERE created_on < date (%s);'
cursor.execute(SQL,[(table_name), (time_from)])
这总是返回插入table_name的语法错误
最佳答案 正如Antoine的评论所提到的,
documentation现在建议使用这种方法来组合表名.
from psycopg2 import sql
cur.execute(
sql.SQL("insert into {} values (%s, %s)")
.format(sql.Identifier('my_table')),
[10, 20])