1

配列フィールドに棒/パイプで区切られた配列を挿入する方法を知っている人はいますか?

コンマでは機能しますが、バーに変更すると「不正な配列リテラル」というエラーが発生します

例(作品):

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

例(動作しません):

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

ところで、postgres 8.2 と PHP を使用していますが、さまざまな理由でカンマを区切り文字として使用できません。

4

1 に答える 1

1

データにパイプがないことがわかっているため、引用符なしで値を使用できる場合は、次を使用できます。

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

パイプで区切られた文字列で値を引用する必要がある場合は、複雑になります。その場合はARRAY['val1','val2','val3']、PHP の構文を使用して、配列を適切にフォーマットして引用する必要があると思います。

于 2012-05-31T08:43:08.187 に答える