没有ID的Psycopg execute_values

问题描述

我尝试在我的postgresql数据库中插入行/元组列表。所以我找到了函数execute_values()...但是行自动获取ID无效。

我的代码

query = "INSERT INTO "+ self.table + " VALUES %s"
execute_values(self.cursor,query,row)
        self.con.commit()

数据库的第一列是id,而行元组的第一列是TEXT(数据库中的第二行也是TEXT)

所以我得到了错误

psycopg2.errors.InvalidTextRepresentation: invalid input Syntax for type integer: "blub"
LINE 1: INSERT INTO whales VALUES ('blub...

所以我想这是因为ID。

我也尝试了模板,但结果却没有任何改善:

database.py",line 204,in insert_row
execute_values(self.cursor,row,"(%(name)s,%(is_member)s)")
File "C:\Just\a\Path\env\lib\site-packages\psycopg2\extras.py",line 1289,in execute_values
parts.append(cur.mogrify(template,args))
TypeError: tuple indices must be integers or slices,not str

也许我看错了文档或者不了解模板...

知道这个问题: 我该如何处理?使用“正常”执行,我不需要添加ID。有没有办法使用execute_values()? 还是唯一通过选择获得ID并将未使用的ID也赋予execute_values的唯一方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...