mySQL,错误1215 - 外键约束

时间:2018-04-05 17:25:52

标签: foreign-keys mysql-workbench

我的最后一个外键(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);

1 个答案:

答案 0 :(得分:0)

外键引用必须是完全相同的类型。在这种情况下,您使用的是mediumint和int,它们的大小不同。

您实际上需要更改创建语句

Vector2 GetPointOnCircle(float radius = 1) {
    float randomAngle = UnityEngine.Random.Range(0f, 2 * Mathf.PI - float.Epsilon);
    Vector2 pointOnCircle = new Vector2(Mathf.Cos(randomAngle), Mathf.Sin(randomAngle)) * radius;
    return pointOnCircle;
}

或者,您可以将其更改为您的幼儿表上的int。