在 PostgreSQL 8.4.13 中为什么会出现语法错误
ERROR: syntax error at or near "on"
LINE: ... references balkan_users(id) check (id <> author) on delete ...
对于以下 2 个语句?
create table balkan_users (
id varchar(32) primary key,
first_name varchar(64) not null,
last_name varchar(64),
female boolean,
avatar varchar(128),
city varchar(64),
mobile varchar(64),
login timestamp default current_timestamp,
logout timestamp,
last_ip inet,
vip timestamp,
mail varchar(256),
green integer,
red integer,
medals integer not null default 0
);
create table balkan_rep (
rep_id serial,
id varchar(32) references balkan_users(id) check (id <> author) on delete cascade,
author varchar(32) references balkan_users(id) on delete cascade,
author_ip inet,
nice boolean,
about varchar(256),
stamp timestamp default current_timestamp,
primary key(id, author);
);
我还准备了一个 SQLFiddle来演示我的问题。