2012-05-31 46 views
1

任何人都知道如何在數組字段中插入酒吧/管道分隔數組?酒吧/管道分隔字段

用逗號它的工作,但是當我改變它吧它產生錯誤 「畸形數組文本」

例子(作品):

insert into table (arrayfield) values ('{"var1","var2","var3"}') 

例如(不工作):

insert into table (arrayfield) values ('{"var1"|"var2"|"var3"}') 

btw我使用postgres 8.2和PHP,我不能使用逗號作爲分隔符的各種原因。

+0

'arrayfield'中字段的類型是什麼? – maxjackie

+0

oops忘了它的一個文本字段 – Gen

+0

什麼是錯誤? – maxjackie

回答

1

如果因爲你知道,沒有管是在你的數據,你可以使用值沒有引號,那麼你可以使用:

insert into table (arrayfield) select string_to_array('var1|var2|var3','|'); 

如果你需要的是你的價值觀是在您的管道分隔字符串報價則變得複雜。如果是這種情況,那麼我認爲你應該在PHP中使用ARRAY['val1','val2','val3']語法格式化並正確引用你的數組。