2014-02-09 6 views
1

-f 옵션을 사용하여 psql 터미널을 통해 실행할 수있는 스크립트를 제작 한 것은 이번이 처음입니다.테이블 스크립트 구문 오류 만들기 "테이블이 없습니다"

내 스크립트는 다음과 같습니다

DROP TABLE if EXISTS piste; 
DROP TABLE if EXISTS lift; 
DROP TABLE if EXISTS lift_location; 

CREATE TABLE piste (
    piste_name varchar(30) PRIMARY KEY NOT NULL, 
    grade varchar(10) NOT NULL, 
    length decimal NOT NULL, 
    fall smallint NOT NULL, 
    open boolean NOT NULL, 

); 

INSERT INTO piste (name, grade, length, fall, open) VALUES 
('test name', 'easy', 3.2, 400, true); 

이 다음과 같은 오류가 발생합니다 :

psql:create_tables.sql:22: NOTICE: table "piste" does not exist, skipping 
DROP TABLE 
psql:create_tables.sql:23: NOTICE: table "lift" does not exist, skipping 
DROP TABLE 
psql:create_tables.sql:24: NOTICE: table "lift_location" does not exist, skipping 
DROP TABLE 
psql:create_tables.sql:33: ERROR: syntax error at or near ")" 
LINE 8:); 
     ^
psql:create_tables.sql:36: ERROR: relation "piste" does not exist 
LINE 1: INSERT INTO piste (name, grade, length, fall, open) VALUES 

는 사람이 원인을 알고 있나요? 내가 볼 수있는 것에서, 삽입하려고 시도하기 전에 테이블 "piste"가 만들어집니다. 어떻게 그것이 존재하지 않는다고 말할 수 있습니까?

감사합니다. Chris.

답변

3

이 오류 :

psql:create_tables.sql:33: ERROR: syntax error at or near ")" LINE 8:);

테이블이 하지 만든을 알려줍니다.

쉼표가 , 인 경우 (마지막 열 이후) 작성 테이블 내에 있습니다. 그것을 제거하면 괜찮을 것입니다.

open boolean NOT NULL, 

다른 메시지를 고지하지 오류가 있습니다

2

끝에있는 쉼표는 오류 메시지를 생성합니다. 그들은 단지 존재하지 않았던 것처럼 테이블을 떨어 뜨리지 않았다고 말합니다.