如何使用[Insert into ... select]语句而不是[Insert into ... vales]方法在postgres中插入元组

用户名

我知道这一点,并正在尝试将数据插入到此postgres表中,如下所示:

cur.execute('''INSERT INTO trademarks_image_mark (trademarks_id, image_mark_id)
               SELECT currval('trademarks_id_seq'), id FROM image_mark WHERE 
               image_file_name LIKE %s''', data['ImageFileName'])

..但是我继续收到此错误:

TypeError:并非在字符串格式化期间转换了所有参数

有谁知道为什么会这样?我知道如何使用常规的Insert into ... values语句插入类似(%s)的元组,但不是这种格式。非常感谢和感谢!

损伤

psycopg2 docs中所述,即使只有一个,您也必须按顺序传递插入查询的参数:

cur.execute('''INSERT INTO trademarks_image_mark (trademarks_id, image_mark_id)
               SELECT currval('trademarks_id_seq'), id FROM image_mark WHERE 
               image_file_name LIKE %s''', (data['ImageFileName'],))

这是文档中的相关部分:

对于位置变量绑定,即使第二个参数包含一个变量,它也必须始终是一个序列。请记住,Python需要逗号来创建单个元素元组:

>>> cur.execute("INSERT INTO foo VALUES (%s)", "bar")    # WRONG
>>> cur.execute("INSERT INTO foo VALUES (%s)", ("bar"))  # WRONG
>>> cur.execute("INSERT INTO foo VALUES (%s)", ("bar",)) # correct
>>> cur.execute("INSERT INTO foo VALUES (%s)", ["bar"])  # correct

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL SERVER如何使用Insert into select语句插入多行

来自分类Dev

SQL Server中如何获取INSERT、UPDATE、DELETE、SELECT语句的使用率?

来自分类Dev

如何使用INSERT INTO语句将简单值插入BLOB字段?

来自分类Dev

使用INSERT INTO .. SELECT * FROM时,INSERT into语句在oracle中不起作用

来自分类Dev

Select Insert 语句返回 1000 个字段而不是 10 个

来自分类Dev

如何使用qodbc insert语句在Customer表中添加Job

来自分类Dev

在Laravel中创建一个Insert ... Select语句

来自分类Dev

如何使用INSERT INTO选择多次插入?

来自分类Dev

如何在INSERT INTO SELECT语句中自引用MySQL中的记录

来自分类Dev

如何通过连接和pdo将SELECT语句包含在INSERT INTO中

来自分类Dev

是否可以使用多个表中的数据来执行INSERT INTO SELECT语句?

来自分类Dev

如何执行 SELECT 语句中的 INSERT?

来自分类Dev

如何在MySQL Insert语句中使用python变量,出现元组错误,请提出建议

来自分类Dev

使用NodeJS和Postgres的事务链中的可选INSERT语句

来自分类Dev

在R中的sqldf中使用INSERT语句

来自分类Dev

如何使用mysql中的过程生成具有now()方法的insert语句

来自分类Dev

在PostgreSQL中的一个insert into语句中添加两个select语句

来自分类Dev

MySQL:从SELECT语句到INSERT语句

来自分类Dev

Oracle中的INSERT ALL语句无法插入

来自分类Dev

使用带有变量的 SELECT 语句的 SQL INSERT INTO VALUE 语句

来自分类Dev

使用序列的LOOP中的IF语句中的UPDATE / INSERT语句

来自分类Dev

如何在SQL INSERT语句中使用PHP / HTML中的变量

来自分类Dev

Postgres 中的批处理条件 INSERT INTO 语句

来自分类Dev

从SELECT插入到INTO:INSERT语句的选择列表比插入列表包含更多的项

来自分类Dev

如何使用 JOOQ Query Builder 使用使用常量值的 select 语句构建 Insert into

来自分类Dev

如何从SELECT中创建INSERT日志?

来自分类Dev

是否可以仅使用Insert和Select语句在Redshift中引发可序列化隔离违规?

来自分类Dev

是否可以仅使用Insert和Select语句在Redshift中引发可序列化隔离违规?

来自分类Dev

如何从一个 INSERT 语句插入 2 行?

Related 相关文章

  1. 1

    SQL SERVER如何使用Insert into select语句插入多行

  2. 2

    SQL Server中如何获取INSERT、UPDATE、DELETE、SELECT语句的使用率?

  3. 3

    如何使用INSERT INTO语句将简单值插入BLOB字段?

  4. 4

    使用INSERT INTO .. SELECT * FROM时,INSERT into语句在oracle中不起作用

  5. 5

    Select Insert 语句返回 1000 个字段而不是 10 个

  6. 6

    如何使用qodbc insert语句在Customer表中添加Job

  7. 7

    在Laravel中创建一个Insert ... Select语句

  8. 8

    如何使用INSERT INTO选择多次插入?

  9. 9

    如何在INSERT INTO SELECT语句中自引用MySQL中的记录

  10. 10

    如何通过连接和pdo将SELECT语句包含在INSERT INTO中

  11. 11

    是否可以使用多个表中的数据来执行INSERT INTO SELECT语句?

  12. 12

    如何执行 SELECT 语句中的 INSERT?

  13. 13

    如何在MySQL Insert语句中使用python变量,出现元组错误,请提出建议

  14. 14

    使用NodeJS和Postgres的事务链中的可选INSERT语句

  15. 15

    在R中的sqldf中使用INSERT语句

  16. 16

    如何使用mysql中的过程生成具有now()方法的insert语句

  17. 17

    在PostgreSQL中的一个insert into语句中添加两个select语句

  18. 18

    MySQL:从SELECT语句到INSERT语句

  19. 19

    Oracle中的INSERT ALL语句无法插入

  20. 20

    使用带有变量的 SELECT 语句的 SQL INSERT INTO VALUE 语句

  21. 21

    使用序列的LOOP中的IF语句中的UPDATE / INSERT语句

  22. 22

    如何在SQL INSERT语句中使用PHP / HTML中的变量

  23. 23

    Postgres 中的批处理条件 INSERT INTO 语句

  24. 24

    从SELECT插入到INTO:INSERT语句的选择列表比插入列表包含更多的项

  25. 25

    如何使用 JOOQ Query Builder 使用使用常量值的 select 语句构建 Insert into

  26. 26

    如何从SELECT中创建INSERT日志?

  27. 27

    是否可以仅使用Insert和Select语句在Redshift中引发可序列化隔离违规?

  28. 28

    是否可以仅使用Insert和Select语句在Redshift中引发可序列化隔离违规?

  29. 29

    如何从一个 INSERT 语句插入 2 行?

热门标签

归档