PostgreSQL의 잘못된 입력 구문


0

PostgreSQL의 CSV 파일을 테이블로 가져 오려고합니다. 테이블은 다음과 같이 설정됩니다.

테이블 설정 :

여기에 이미지 설명을 입력하십시오

내 csv 파일은 쉼표로 구분되며 음성 표시 내에 쉼표가있는 텍스트를 묶었습니다. 헤더가 없습니다. 표시된 명령을 사용하여 데이터를 업로드하면 오류가 표시됩니다.

오류:

여기에 이미지 설명을 입력하십시오

나는 이것이 순차적 인 번호를 자동으로 생성하도록 설정된 첫 번째 열 patientId와 관련이 있다고 생각합니까? 내 CSV 에서이 열의 숫자는 이미 순차적입니다.

성공적으로 업로드하려면 어떻게해야합니까?

업데이트-이제 헤더를 갖도록 CSV를 변경하고 레이블이 지정된 특정 열에서만 호출하도록 코드를 변경하여 appId를 건너 뛰고 테이블에 설정된대로 자동으로 번호를 생성합니다.

COPY 약속 ( "patientId", "appt", "staffId", "lungCapacity", "note") FROM '/home/user/VBoxShare/Appointment.csv'WITH HEADER CSV;

이제이 오류가 발생합니다. 마지막 예상 열 뒤에 추가 데이터 컨텍스트 : COPY 약속, 2 행 : "1,4,18 / 04 / 2010,4906475184,5163,"CSV를 확인한 후 추가 문자가 없습니다. 자료. 이 오류의 원인은 무엇입니까?


철자가 잘못된 "유럽"이 문제의 원인인지 궁금합니다.
DavidPostill

나는 그 코드 라인을 실행하지 않았지만 고맙습니다. 이것을
고쳤습니다

답변:


0

appId 열에 사용 된 data type serial은 고유 한 값을 자동으로 생성하기위한 것입니다. appId 열에서 .csv를 가져 오거나 값을 수동으로 설정하도록 테이블을 수정하십시오.


첫 번째 열 데이터를 가져온 후 업로드를 시도했지만 두 번째 열 값을 첫 번째 열에 배치하려고하는데 오류가 발생합니다. 계획이 GUI 약속 시스템에 연결하기 때문에 고유 한 ID를 자동으로 생성하려면 열이 필요합니다. 그래서 각각은 수동으로 생성되지 않고 고유 한 약속 ID가 필요합니다.
MIS_Gem

csv의 어떤 열이 데이터베이스에서 어디로 갈 것인지 지정하는 방법이 있어야합니다. postgresql의 구문이 무엇인지 확실하지 않지만 다음과 같아야합니다. code

codeCSV를 사용하여 '/home/user/VBoxShare/Appointment.csv'에서 유럽 복사 약속 ( "patientId", "staffId", "lungCapacity")으로 데이터 스타일 설정; code

타피 감사합니다-시도했지만 여전히 오류가 발생했습니다. 또한 이것은 appt에 대한 열을 지정하지 않습니다. 이 코드를 코드에 추가
했는데 여전히이

RROR : "COPY"LINE 2 또는 그 근처의 구문 오류 : COPY 약속 ( "patientId", "staffId", "lungCapacity") ^ ********** 오류 ********** 오류 : "COPY"SQL 상태 또는 그 근처에서 구문 오류 : 42601 문자 : 28
MIS_Gem

0

마침내 CSV에 헤더를 추가하고 아래와 같이 모든 열을 가져 와서 이에 대한 해결책을 얻었습니다.

COPY 약속 ( "appId", "patientId", "appt", "staffId", "lungCapacity", "note") FROM '/home/user/VBoxShare/Appointment.csv'WITH HEADER CSV;

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.