【发布时间】:2023-04-04 17:05:01
【问题描述】:
给一个这样的数组:
my_array = [2,3,5,23,4]
还有这样的表格:
column1 | column2
---------+----------
1 |
2 |
3 |
4 |
5 |
如何将数组值插入表中。大概我想用 SQL 做这样的事情:
for item in my_array:
UPDATE my_table SET colum2 = item
更新后的表格应该是这样的
column1 | column2
---------+----------
1 | 2
2 | 3
3 | 5
4 | 23
5 | 4
更新: 我正在使用 Python psycopg2,但我想知道是否有纯 SQL 的方法。
【问题讨论】:
-
您想在一列或单独的列或单独的行中添加整个数组元素
-
您使用哪种编程语言?你是如何用你的语言定义这个数组的?如果数组的元素比表中的行多或少怎么办?元素索引位置是否总是等于
column1中的值? (记住:关系表中的行是排序的,所以你不能通过“位置”将数组元素映射到表行) -
我正在将 Python 与 psycopg2 一起使用,但我想知道是否可以使用纯 SQL 来完成。该数组将始终具有与表中的行相同数量的元素。我将使用 where 语句来确保正确的数组值映射到正确的行。
-
column1中的值真的应该是数组索引吗?或者这只是一个误导性的例子?而且,与往常一样,您的 Postgres 版本是相关的。
标签: sql arrays postgresql