Synopsis

CREATE [ [ LOCAL ] { TEMPORARY | TEMP } ] TABLE /table_name/ (
   { /column_name/ /data_type/ [ DEFAULT /default_expr/ ] [ /column_constraint/ [, ... 
] ]
   | /table_constraint/ }  [, ... ]
)
[ INHERITS ( /parent_table/ [, ... ] ) ]
[ WITH OIDS | WITHOUT OIDS ]

so this means that every column's constrain should be separated by a comma.

but when I create the table:
CREATE TABLE person ( person_id SERIAL      CONSTRAINT pk__person__person_id PRIMARY 
KEY
                   , guarantor integer     CONSTRAINT fk__person__person_id REFERENCES 
person(person_id)
                   , firstname varchar(32) CONSTRAINT nn__person__firstname NOT NULL , 
CONSTRAINT u__person__firstname UNIQUE
                   , lastname varchar(32)  CONSTRAINT nn__person__lastname  NOT NULL
                   , email varchar(64)     CONSTRAINT u__person__email      UNIQUE
                   , phone varchar(32)     CONSTRAINT u__person__phone      UNIQUE);
I get: ERROR:  parser: parse error at or near ","

and when I replace in the firstname definition the `,' between the two constraint by a 
` ' : it works !
CREATE TABLE person ( person_id SERIAL      CONSTRAINT pk__person__person_id PRIMARY 
KEY
                   , guarantor integer     CONSTRAINT fk__person__person_id REFERENCES 
person(person_id)
                   , firstname varchar(32) CONSTRAINT nn__person__firstname NOT NULL 
CONSTRAINT u__person__firstname UNIQUE
                   , lastname varchar(32)  CONSTRAINT nn__person__lastname  NOT NULL
                   , email varchar(64)     CONSTRAINT u__person__email      UNIQUE
                   , phone varchar(32)     CONSTRAINT u__person__phone      UNIQUE);

Am'I interpreting wrongly the documentation or ... am'I right : )

Regards

Cedric BRINER


---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Reply via email to