database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 5361 게시물 읽기
No. 5361
[질문] COPY from stdin 에서의 에러..
작성자
이수진(riggs)
작성일
2004-06-08 16:22
조회수
2,135

안녕하세요.

어제 저녁에 올려주신 답변을 보고 오늘도 해매어보지만 잘 안되네요.

환경은 DB 서버, WEB 서버가 각각있으며 PHP로 작업하고 있습니다.

PGADMIN에서

테이블 구조는

create table t (a date, b text) without oids; 이며

COPY z(num,name) from stdin using delimiters ',';
33,hi
\.

라는 명령을 하니

ERROR: syntax error at or near "33" at character 137

라는 에러가 납니다.

아시는 분 꼬옥 답변 바랍니다. ^^ ㅠ.ㅠ

이 글에 대한 댓글이 총 4건 있습니다.
nonun=# create table t (a date, b text) without oids;
CREATE TABLE
nonun=# COPY z(num,name) from stdin using delimiters ',';
ERROR:  relation "z" does not exist

t로 만드시고 z에 넣으시니 -.-;;;;

nonun=# COPY t from stdin using delimiters ',';
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> 33,hi
>> \.
ERROR:  date/time field value out of range: "33"
HINT:  Perhaps you need a different "datestyle" setting.
CONTEXT:  COPY t, line 1, column a: "33"

 

33 <- date라는 타입에 맞지 않습니다..

nonun=# COPY t from stdin using delimiters ',';
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> 2003-01-01,hi
>> \.

 

정상적으로 처리되었습니다...

신기배(nonun)님이 2004-06-08 16:27에 작성한 댓글입니다.
이 댓글은 2004-06-08 16:28에 마지막으로 수정되었습니다.

에고 답변 감사합니다. 제가 질문을 잘못 올렸네요.

 

테이블 구조는 아래와 같습니다.

 

CREATE TABLE public.z
(
  num int4,
  name varchar(20)
) WITH OIDS;

 

COPY z from stdin using delimiters ',';
300,hi\.
혹은

COPY z from stdin using delimiters ','
300,hi\.

를 실행하니

 

ERROR:  syntax error at or near "300" at character 42

라는 에러가 납니다.

 

pgAdmin III Query 에서 테스트 중인데요.

 

이게 클라이언트 툴에서는 안되는 건가요?

 

nonum 님의 글을 보니 서버에서 실행하신 거 같은데..

 

저의 잘못을 지적해 주시면 감사하겠습니다.

 

 

이수진(riggs)님이 2004-06-08 17:32에 작성한 댓글입니다.
COPY z from stdin using delimiters ',';
300,hi\.
혹은
COPY z from stdin using delimiters ','
300,hi\.

 

이 두가지의 에러가 다를것 같습니다 -.-;;

using delimiters ',' 를 하지 마시고 데이터를 탭으로 구분해서 psql을 이용해서 입력해보시기 바랍니다..

300탭hi

\.  <- 꼭 새 라인에서 해주세요.. COPY 라인 뒤에는 ; 를 붙여주시고.. (둘중에 하나는 문법 에러입니다... -.-)

 

root=# CREATE TABLE public.z
root-# (
root(#   num int4,
root(#   name varchar(20)
root(# ) WITH OIDS;
CREATE TABLE
root=# COPY z from stdin using delimiters ',';
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> 300,hi\.
>> \.
root=# SELECT * from z;
 num | name
-----+------
 300 | hi
(1 row)

저는 잘 됩니다 -.- 간단한 문법에러는 에러메시지를 잘 보시면 해결 하실 수 있을 듯 합니다..

신기배(nonun)님이 2004-06-08 19:42에 작성한 댓글입니다.

답변 감사합니다. 제가 PHP에서 구현의 문제였군요.

 

다시 한번 감사드립니다. ^^

이수진(riggs)님이 2004-06-09 12:20에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
5367합계 구하는것 때문에 질문 드립니다.. [4]
박민재
2004-06-14
1902
5365group by 에서의 데이터 추출에 대하여 ㅠ.ㅠ [2]
궁금이
2004-06-11
1957
5362[질문] 설치과정에서 psql:relocation error에 관하여!! [1]
채정병
2004-06-09
1784
5361[질문] COPY from stdin 에서의 에러.. [4]
이수진
2004-06-08
2135
5360PostgreSQL을 객체지향에 적용가능할까요? [2]
엔지녀
2004-06-08
1535
5357[질문] 복수행의 자료 빠르게 입력하기에 대하여... [2]
이수진
2004-06-07
1570
53567.2 에서 7.4 로 migration 에 관한 질문 [1]
배권한
2004-06-06
1383
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다