Python insert和psycopg2存在问题

Python insert和psycopg2存在问题,python,psycopg2,Python,Psycopg2,我是Python和psycopg2的新手,在简单插入方面有问题 这是我的桌子: CREATE TABLE tabla ( codigo integer NOT NULL DEFAULT nextval('dato_codigo_seq'::regclass), informacion character(30) NOT NULL, CONSTRAINT dato_pkey PRIMARY KEY (codigo) ) 字段codigo是一个序列号 当我说这句话时: cursor.execute

我是Python和psycopg2的新手,在简单插入方面有问题

这是我的桌子:

CREATE TABLE tabla
(
codigo integer NOT NULL DEFAULT nextval('dato_codigo_seq'::regclass),
informacion character(30) NOT NULL,
CONSTRAINT dato_pkey PRIMARY KEY (codigo)
)
字段
codigo
是一个序列号

当我说这句话时:

cursor.execute("INSERT INTO tabla informacion) VALUES (%s)",("abcdef"))
PostgreSQL抛出一个异常

我必须这样做

cursor.execute("INSERT INTO tabla (codigo,informacion) VALUES (nextval(%s),%s)",
            ("dato_codigo_seq","abcdef"))
其中
dato\u codigo\u seq
是字段
codigo
的顺序

我的问题是我能做一个这样的句子吗

插入表格(信息)值('asdsa')

让PostgreSQL处理串行字段

我可以这样做:

cursor.execute("INSERT INTO tabla informacion) VALUES ("+valor+")")"
但这句话可以用来攻击SQL注入

就这些。谢谢你阅读我的问题,也很抱歉我的英语不好(我说西班牙语)

这就是您示例中的解决方案:

cursor.execute("INSERT INTO tabla informacion) VALUES (%s)",("abcdef",))

为了更加明确,execute()的第二个参数必须是一个元组,在Python中,1项元组必须使用尾随逗号。但是,'''cursor.execute(“INSERT INTO tabla informacion”)值(“+valor+”)“''”类型行不会保存在数据库中。它只是增加我的数据库序列号。
cursor.execute("INSERT INTO tabla informacion) VALUES (%s)",("abcdef",))