如何在CREATE TABLE语句的cur.execute(statement,values)中替换占位符?

时间:2019-03-20 16:06:00

标签: python-3.x psycopg2

我动态生成以下语句:

stmt =  CREATE TABLE people (%s,%s,%s);

并想用我的元组中的值动态替换占位符

my_tuple = ('first_name varchar', 'last_name varchar', 'address varchar')

但是当我使用cur.execute(statement, my_tuple)

原因不起作用。我猜是因为元组值被视为字符串。 即

stmt =  CREATE TABLE people ('first_name varchar','last_name varchar','address varchar');

应该是

stmt =  CREATE TABLE people (first_name varchar,last_name varchar,address varchar);

我正在使用cur.execute来防止SQL注入。

0 个答案:

没有答案