2
저는 PostgeSQL에서 PHP로 작업하고 있습니다. PosrgeSQL을 사용하면 테이블의 열을 배열로 정의 할 수 있습니다.PostgreSQL : 배열 데이터 형식이 PHP로
그래서 내가 같은 테이블이 있다고 가정 해 봅시다 :
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가 쿼리에서 받아 들일 수있는 문자열 표현으로 바꾸십시오 : http://www.postgresql.org/docs/9.1/static/arrays.html –
@MarcB 그래, 알아,하지만 알았어. 정확하고 더 나은 방법이 있다면. PostgreSQL에 대한 새로운 기능입니다. –
올바른 방법은 데이터베이스를 정상적으로 정규화하고 PostgreSQL 배열을 전혀 사용하지 않는 것입니다. –