PostgreSQL 中 CREATE TABLE 的基本语法

Basic syntax for CREATE TABLE in PostgreSQL

我是第一次使用 PostgreSQL。我有这个声明:

CREATE TABLE IF NOT EXISTS sequences (
  SEQU_NK   SERIAL PRIMARY KEY NOT NULL UNIQUE,
  NOM_SEQU varchar(30) NOT NULL,
  PROCHAIN bigint NOT NULL,
  PRIMARY KEY (SEQU_NK),
  UNIQUE KEY IDX_SEQU_NOM (NOM_SEQU)
)

当我 运行 它时,我得到:

ERROR:  syntax error at or near "KEY"
LINE 6:   UNIQUE KEY IDX_SEQU_NOM (NOM_SEQU)
                 ^
********** Error **********

ERROR: syntax error at or near "KEY"

这样试试:

CREATE TABLE IF NOT EXISTS sequences (
  SEQU_NK   SERIAL PRIMARY KEY NOT NULL UNIQUE,
  NOM_SEQU varchar(30) NOT NULL,
  PROCHAIN bigint NOT NULL,
  CONSTRAINT "IDX_SEQU_NOM" UNIQUE (NOM_SEQU)
) 

SQLFIDDLE DEMO

CREATE TABLE sequences (
  sequ_nk  serial PRIMARY KEY,
  nom_sequ varchar(30) NOT NULL UNIQUE,
  prochain bigint NOT NULL
);

UNIQUE,不是UNIQUE KEY.
只能有一个PRIMARY KEY.
PRIMARY KEY 列自动为 UNIQUENOT NULL
Read the manual.
Or, better yet, read the manual for your actual Postgres version 8.4 - 这告诉你 IF NOT EXISTS 尚未在 8.4 版中实现(等待 9.1)。
或者,更好的是,升级到当前版本的 Postgres。 Version 8.4 has reached EOL last year.
旁白:不要使用带引号的大写标识符,否则您必须始终将它们引号。