2014-02-09 29 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 

有誰知道是什麼原因造成的?從我所看到的表格「滑雪板」在我嘗試插入之前就已經創建了,所以它如何表示它不存在?

謝謝, 克里斯。

回答

3

此錯誤:

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

告訴你的表是不是創建

在創建表格(最後一列之後)內部有一個懸掛逗號,。刪除,你應該沒問題。

2

在端逗號生成錯誤消息:

open boolean NOT NULL, 

其他消息通知不錯誤。他們只是告訴你,他們沒有放下桌子,因爲他們不存在