2012-02-11 156 views
0

IM腻子收到此错误,不知道为什么,看起来我的权利..错误与AUTO_INCREMENT psql的腻子

psql:pierre.sql:10: ERROR: syntax error at or near "AUTO_INCREMENT" 
LINE 2: c_id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, 
           ^
psql:pierre.sql:18: ERROR: syntax error at or near "AUTO_INCREMENT" 
LINE 2: r_id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, 

--DROP TABLE customer, reservation; 
CREATE TABLE customer(
    c_id  INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    c_ref  VARCHAR(30) NOT NULL, 
    f_name  VARCHAR(30) NOT NULL, 
    l_name  VARCHAR(30) NOT NULL, 
    address  VARCHAR(100) NOT NULL, 
    email  VARCHAR(100) NOT NULL, 
    phone  VARCHAR(11) NOT NULL 
); 
CREATE TABLE reservation(
    r_id  INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    c_id  VARCHAR(30) NOT NULL REFERENCES customer(c_id), 
    book_date DATE NOT NULL CHECK (book_date <= now()), 
    s_time  DOUBLE NOT NULL, 
    e_time  DOUBLE NOT NULL, 
    amount  INTEGER NOT NULL 
); 

任何想法,为什么?

回答

3

auto_increment看起来像你会用MySQL的东西。


但是,在这里,似乎你正在使用PostgreSQL。

根据手册的datatype serial部,PostgreSQL的等效的auto_incrementserialbigserial

引用该页面:

的数据类型serialbigserial不是真正的类型,而仅仅 一个符号上的便利设立的唯一标识符列 (类似于一些其他数据库所支持的AUTO_INCREMENT财产)