postgresql中的text []?

时间:2012-05-17 11:56:28

标签: postgresql jdbc

我在Postgresql中看到了一个字段text[](文本数组)。

据我所知,它可以在一列中存储多个文本数据。

我试图阅读更多关于手册的内容:http://www.postgresql.org/docs/current/static/datatype-character.html但遗憾的是,没有关于text []列类型的内容。

所以任何人都可以帮助我理解

  • 如何在text []列中添加新值?
  • 当我们查询以检索text []列的值时,结果集是什么?

    修改
    我有一个包含2列 group_name 成员的表格。每次有新人加入群组时,新人的身份应插入该群组的列成员。这是我的要求。一个小组可以包含'n'个成员

    编辑2
    巴勃罗要我改用两张桌子。我可以通过使用两个不同的表来知道如何解决这个问题吗?现在我使用逗号(,)来存储用逗号分隔的多个值。这种方法有误吗?

1 个答案:

答案 0 :(得分:1)

要插入新值,请执行以下操作:

insert into foo values (ARRAY['a', 'b']);

假设您有此表:

create table foo (a text[]);

每次执行select a from foo时,您都会有一个类型为array的列:

db1=> select a from foo;
   a   
-------
 {a,b}
(1 row)

如果你想要数组中的特定元素,你需要使用下标(PostgreSQL中的数组是基于1的):

db=> select a[1] from foo;
 a 
---
 a
(1 row)

为PostgreSQL表选择数组数据类型时要小心。确保您不需要子表