您不应该使用字符串插值来传递数据库查询中的变量,但是使用字符串插值来设置表名就可以了,只要它不是外部输入或您限制允许的值即可。尝试:
cursor.execute("""SELECT name FROM %s.customer WHERE firm_id=%%s""" % schema, each['id'])
DB API使用规则为针对数据库进行编程提供了指导。
psycopg2 TypeError:并非在字符串格式化期间转换了所有参数
您不应该使用字符串插值来传递数据库查询中的变量,但是使用字符串插值来设置表名就可以了,只要它不是外部输入或您限制允许的值即可。尝试:
cursor.execute("""SELECT name FROM %s.customer WHERE firm_id=%%s""" % schema, each['id'])
DB API使用规则为针对数据库进行编程提供了指导。