【发布时间】:2015-01-23 22:59:45
【问题描述】:
这无关紧要,所以我只是对以下内容感到好奇(Python 2.7):
我刚开始使用 psycopg 并阅读文档,他们总是使用字符串 (%s) 和元组将值传递给查询。
变量占位符必须始终为 %s
所以考虑下面的例子-
在一个名为“test”的表中,包含字段 value_1 (varchar) 和 value_2 (int) 的查询被创建为:
value_1 = "test"
value_2 = "100"
cur.execute("INSERT INTO test (value_1,value_2) VALUES (%s,%s)",\
(value_1,value_2))
我的问题是,改用“格式”方法是否是一种不好的做法或什至有问题(如下):
cur.execute("INSERT INTO test (value_1,value_2) VALUES ('{value1}',{value2})".\
format(value1=value_1,value2=value_2))
根据您的经验,您认为这真的很危险或有问题吗?
【问题讨论】:
标签: python postgresql psycopg2