Это модель отношений многих ко многим для вопроса - PullRequest
0 голосов
/ 27 марта 2020

Что не так с этим кодом. Третья таблица показывает сообщение об ошибке. В первой и второй таблице ошибок нет. Сообщение об ошибке ниже. Помогите мне выяснить причину ошибки.

Сообщение об ошибке:

mysql> create table Registation(
-> cid int,
-> sid int,
-> reg Date date,
-> reg_fee int not null default 2000,
-> constraint primary key (sid,cid),
-> constraint foreign key(sid) references student(sid)
-> on delete cascade on update cascade,
-> constraint foreign key(cid) references course(cid)
-> on delete cascade on update cascade );

ОШИБКА 1064 (42000): у вас ошибка в ваш SQL синтаксис; проверьте руководство, соответствующее вашей MySQL версии сервера, для правильного синтаксиса для использования рядом с 'date, reg_fee int not null default 2000, первичный ключ ограничения (sid, cid), const' в строке 4

Мой SQL Код таблицы:

create table student(
sid int auto_increment,
name varchar(100)not null,
address varchar(100)not null,
constraint primary key(sid),
constraint name_address unique(name,address) );

create table course(
cid int auto_increment,
title varchar(100)not null,
duration varchar(10)not null,
constraint primary key(cid) );

create table Registation(
cid int,
sid int,
reg Date date,
reg_fee int not null default 2000,
constraint primary key (sid,cid),
constraint foreign key(sid) references student(sid)
on delete cascade on update cascade,
constraint foreign key(cid) references course(cid)
on delete cascade on update cascade );

1 Ответ

2 голосов
/ 27 марта 2020

Ваша регистрационная таблица неверна.

create table Registation(
cid int,
sid int,
reg Date date,/* line 1
reg_fee int not null default 2000,
constraint primary key (sid,cid),
constraint foreign key(sid) references student(sid)
on delete cascade on update cascade,
constraint foreign key(cid) references course(cid)
on delete cascade on update cascade ); 

Строка 1 изменена на дату регистрации,

Правильный код:

create table Registation(
cid int,
sid int,
Date date,/* line 1
reg_fee int not null default 2000,
constraint primary key (sid,cid),
constraint foreign key(sid) references student(sid)
on delete cascade on update cascade,
constraint foreign key(cid) references course(cid)
on delete cascade on update cascade ); 

или

create table Registation(
cid int,
sid int,
reg_Date date,/* line 1
reg_fee int not null default 2000,
constraint primary key (sid,cid),
constraint foreign key(sid) references student(sid)
on delete cascade on update cascade,
constraint foreign key(cid) references course(cid)
on delete cascade on update cascade ); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...