我试图使用psycopg2从postgres数据库中的特定表中获取某组对象。我在将变量传递给cursor.execute(SQL)命令时看到的所有建议似乎都不适用于两种类型的变量
这是我累的第一个没有工作的东西:
SQL = 'SELECT * FROM %s WHERE created_on < date (%s);'
cursor.execute(SQL,[(table_name), (time_from)])
这总是返回插入table_name的语法错误
答案 0 :(得分:2)
如Antoine的评论所述,documentation现在建议使用这种方法来编写表名。
class x(object):
x = 10 # class variable
def method1(self,v1):
x = v1 # method variable
# here I want to access class variable
答案 1 :(得分:0)
这是我的解决方案:
SQL1 = 'SELECT * FROM %s' %table_name
SQL2 = SQL1+' WHERE created_on < date (%s);'
cursor.execute(SQL2, (time_from, ))
表名不能以正常方式传递,因为它们被转换为SQL命令中的对象