【发布时间】:2012-04-13 21:49:48
【问题描述】:
我正在使用 PHP 处理 PostgeSQL,我知道 PosrgeSQL 允许将表的列定义为数组。
假设我有一张这样的桌子:
CREATE TABLE sal_emp (
a text ARRAY,
b text ARRAY,
c text ARRAY,
);
这些是我的数组:
$a = array(aa,bb,cc);
$b = array(dd,dd,aa);
$c = array(bb,ff,ee);
我想将它们插入到各自的列中,如下所示:
a | b | c
-----------+------------+------------
{aa,bb,cc} | {dd,dd,aa} | {bb,ff,ee}
我可以这样插入吗?
$a = implode(',', $a);
$b = implode(',', $b);
$c = implode(',', $c);
$a = array('a' => $a, 'b' => $b, 'c' => $c);
pg_insert($dbconn, 'table', $a);
或者有没有更好的方法来达到同样的效果?
【问题讨论】:
-
将 PHP 的数组转换为 Postgres 将在查询中接受的字符串表示只是字符串操作的问题:postgresql.org/docs/9.1/static/arrays.html
-
@MarcB 是的,我知道,但我不确定我是否正确,以及是否有更好的方法。我对 PostgreSQL 很陌生..
-
正确的做法是正确规范您的数据库,并且根本不使用 PostgreSQL 数组。
-
你可以查一下这个问题stackoverflow.com/questions/3068683/…
标签: php arrays postgresql