Psycopg2 Postgres取消测试一个很长的数组,将其插入表列中



我的数据库在postgres上,是本地

我有一个数组的形式是:

[1,2,3,…2600]

正如你所看到的,这是一个很长的数组,所以我不能逐个键入元素来插入它们所以我想用unest((函数把它做成这样:

1

2

3

|

2600

也许从那里开始然而,我仍然需要写unnest之类的unnest(array[1,…,2600](才能工作,但这当然不起的作用

那么,如何在同一时间将数组作为同一列的行插入呢?

您可以使用execute_values将所有数据批量放入表中:

import psycopg2
from psycopg2.extras import execute_values
conn = psycopg2.connect(conn_string)
cursor = conn.cursor()
insert_query = "insert into table_name (col_name) values %s"
# create payload as list of tuples
data = [(i,) for i in range(1, 2601)] 
execute_values(cursor, insert_query, data)
conn.commit()

最新更新