任何人都知道如何在数组字段中插入bar / pipe分隔数组?
使用逗号工作,但当我将其更改为bar时,会产生错误“malformed array literal”
示例(有效):
insert into table (arrayfield) values ('{"var1","var2","var3"}')
示例(不起作用):
insert into table (arrayfield) values ('{"var1"|"var2"|"var3"}')
顺便说一句,我正在使用postgres 8.2和PHP,由于各种原因,我不能使用逗号作为分隔符。
答案 0 :(得分:1)
如果您可以使用没有引号的值,因为您知道数据中没有管道,那么您可以使用:
insert into table (arrayfield) select string_to_array('var1|var2|var3','|');
如果您需要在管道分隔的字符串上引用您的值,那么它会变得复杂。如果是这种情况,那么我认为您应该使用PHP中的ARRAY['val1','val2','val3']
语法格式化和引用您的数组。