"foreign" 或附近的 postgreSQL 语法错误
postgreSQL syntax error at or near "foreign"
我在尝试创建 kurinys table 时收到以下错误““foreign”处或附近的语法错误”。可能是一个愚蠢的错误,但我无法识别它。提前谢谢你。
create table elba7430.kurinys(
id INTEGER not null check (id > 10000),
pavadinimas VARCHAR (55) not null,
metai YEAR,
meno_rusies_id INTEGER not null check (meno_rusies_id > 100),
autoriaus_id INTEGER not null check (autoriaus_id > 1000000),
kliento_id INTEGER not null check (kliento_id > 1000000),
ilgis_cm DECIMAL (100,2),
plotis_cm DECIMAL (100,2),
kaina DECIMAL (100,2),
primary key (id),
foreign key (meno_rusies_id)
REFERENCES elba7430.meno_rusis on delete cascade on update restrict,
foreign key (autoriaus_id)
REFERENCES elba7430.autorius on delete cascade on update restrict,
foreign key (kliento_id)
REFERENCES elba7430.klientas on delete cascade on update restrict
);
create table elba7430.meno_rusis(
id INTEGER not null check (id > 100),
pavadinimas VARCHAR (100) not null,
primary key(id)
);
create table elba7430.autorius(
id INTEGER not null check (id > 1000000),
vardas VARCHAR (40) not null,
pavarde VARCHAR (55) not null,
gimimo_metai DATE,
primary key(id)
);
create table elba7430.klientas(
id INTEGER not null check (id > 1000000),
vardas VARCHAR (40),
pavarde VARCHAR (55),
primary key(id)
);
更改声明的顺序并将年份数据类型替换为有效的数据类型将解决此问题,您可以在此处复制:db<>fiddle
我在尝试创建 kurinys table 时收到以下错误““foreign”处或附近的语法错误”。可能是一个愚蠢的错误,但我无法识别它。提前谢谢你。
create table elba7430.kurinys(
id INTEGER not null check (id > 10000),
pavadinimas VARCHAR (55) not null,
metai YEAR,
meno_rusies_id INTEGER not null check (meno_rusies_id > 100),
autoriaus_id INTEGER not null check (autoriaus_id > 1000000),
kliento_id INTEGER not null check (kliento_id > 1000000),
ilgis_cm DECIMAL (100,2),
plotis_cm DECIMAL (100,2),
kaina DECIMAL (100,2),
primary key (id),
foreign key (meno_rusies_id)
REFERENCES elba7430.meno_rusis on delete cascade on update restrict,
foreign key (autoriaus_id)
REFERENCES elba7430.autorius on delete cascade on update restrict,
foreign key (kliento_id)
REFERENCES elba7430.klientas on delete cascade on update restrict
);
create table elba7430.meno_rusis(
id INTEGER not null check (id > 100),
pavadinimas VARCHAR (100) not null,
primary key(id)
);
create table elba7430.autorius(
id INTEGER not null check (id > 1000000),
vardas VARCHAR (40) not null,
pavarde VARCHAR (55) not null,
gimimo_metai DATE,
primary key(id)
);
create table elba7430.klientas(
id INTEGER not null check (id > 1000000),
vardas VARCHAR (40),
pavarde VARCHAR (55),
primary key(id)
);
更改声明的顺序并将年份数据类型替换为有效的数据类型将解决此问题,您可以在此处复制:db<>fiddle