0
В 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);
);
Я также подготовил an SQLFiddle для демонстрации моей проблемы.
Вы пытались переместить проверочное ограничение за «при удалении каскада»? –
Затем я получаю: Ошибка создания схемы: ОШИБКА: синтаксическая ошибка в конце ввода: –
Это потому, что у вас есть дополнительная точка с запятой после первичного ключа. Вы применяете оба эти шага, и они будут работать. Я просто испытал. –