【发布时间】:2016-11-13 14:03:33
【问题描述】:
我已经看到许多与我有相同问题的主题,但没有人能很好地回答我的情况。
我已经制作了一个模型,并从这个软件中获得了一个 SQL 脚本。 问题是我在 PhpMyAdmin 中有 errno: 150 和外键。 我检查了,两个键的类型相同,但问题仍然存在。
你能帮我解决这个问题吗? 我有:
#1005 - Can't create table `candidathlon`.`#sql-21ac_3b`
(errno: 150"Foreign key constraint is incorrectly formed")
随着请求:
ALTER TABLE participer_a
ADD CONSTRAINT FK_participer_a_DateEvenement FOREIGN KEY (DateEvenement)
REFERENCES Evenement(DateEvenement)
这是我的表有这个问题:
CREATE TABLE Evenement(
NumEvenement int (11) Auto_increment NOT NULL ,
NomEvenement Varchar (25) NOT NULL ,
DateEvenement Date NOT NULL ,
PRIMARY KEY (NumEvenement ,DateEvenement ) ,
INDEX (NomEvenement)
)ENGINE=InnoDB;
CREATE TABLE Candidat(
DateNaissance Date NOT NULL ,
NumTelPort Varchar (25) NOT NULL ,
NumTelFixe Varchar (25) NOT NULL ,
Adresse Varchar (25) NOT NULL ,
TrouverEntreprise Bool NOT NULL ,
InscritCFA Bool NOT NULL ,
NumPersonne Int NOT NULL ,
NumStatut Int NOT NULL ,
NumVille Int NOT NULL ,
DateApprenti Date ,
NumInstit Int NOT NULL ,
PRIMARY KEY (NumPersonne ) ,
INDEX (TrouverEntreprise ,InscritCFA )
)ENGINE=InnoDB;
CREATE TABLE participer_a(
ParticipeEvent Bool NOT NULL ,
CommentaireEvent Varchar (100) ,
SouhaiteParticiper Bool NOT NULL ,
NumPersonne Int NOT NULL ,
NumEvenement Int NOT NULL ,
DateEvenement Date NOT NULL ,
PRIMARY KEY (NumPersonne ,NumEvenement ,DateEvenement )
)ENGINE=InnoDB;
ALTER TABLE participer_a ADD CONSTRAINT FK_participer_a_NumPersonne FOREIGN KEY (NumPersonne) REFERENCES Personne(NumPersonne);
ALTER TABLE participer_a ADD CONSTRAINT FK_participer_a_NumEvenement FOREIGN KEY (NumEvenement) REFERENCES Evenement(NumEvenement);
ALTER TABLE participer_a ADD CONSTRAINT FK_participer_a_DateEvenement FOREIGN KEY (DateEvenement) REFERENCES Evenement(DateEvenement);
【问题讨论】:
标签: mysql sql database phpmyadmin