在底部的最后一个外键(FK_kunde_id)中,我得到了以下错误: 1215不能添加外键约束。这是我在SQL编程的第一天,所以我正在尽我最大的努力解决它,但却被完全卡住了。
*我在许多论坛上都找过外国关键问题。但是,由于它与FK_film_id完全相同,所以我假设它应该能工作,因为film_id是film.film_id中的主键
*刺是完全一样的。
任何人都知道是什么从下面提供的代码中创建了此错误:
create database utleie
create table utleie.kunder (
kunde_id mediumint not null auto_increment,
fnavn varchar(45) not null,
enavn varchar(45) not null,
mobil int(8) null,
epost varchar(45) null,
gate varchar(45) null,
gatenr varchar(5) null,
postnr int null,
primary key (kunde_id) );
create table utleie.postnummerr (
postnr int not null,
poststed varchar(45) not null,
primary key (postnr) );
create table utleie.film (
film_id int not null auto_increment,
tittle varchar(45) not null,
årstall int(4) null,
regisor varchar(45) null,
genre varchar(3) null,
primary key (film_id) );
create table utleie.genre (
genre_code varchar(3) not null,
genre varchar(45) not null,
primary key (genre_code) );
alter table kunder add constraint FK_postnr foreign key (postnr) references postnummerr(postnr);
alter table film add constraint FK_genre foreign key (genre) references genre(genre_code);
create table utleie.utleie_oversikt (
utleie_id int not null auto_increment,
film_id int not null,
kunde_id int not null,
primary key (utleie_id) );
alter table utleie_oversikt
add constraint FK_film_id
foreign key (film_id) references film(film_id);
alter table utleie_oversikt
add constraint FK_kunde_id
foreign key (kunde_id) references kunder(kunde_id);发布于 2018-04-05 17:32:15
外键引用必须是完全相同的类型。在本例中,您使用的是mediumint和int,它们的大小不同。
您实际上需要更改create语句
create table utleie.utleie_oversikt (
utleie_id int not null auto_increment,
film_id int not null,
kunde_id mediumint not null,
primary key (utleie_id) );或者,您可以将其更改为更好的表上的int。
https://stackoverflow.com/questions/49678153
复制相似问题