簡體   English   中英

無法在數據庫中添加外鍵約束

[英]Cannot add foreign key constraint in my DB

我不知道為什么在創建數據庫時出現此錯誤:

Executing SQL script in server
ERROR: Error 1215: Cannot add foreign key constraint


CREATE TABLE IF NOT EXISTS `CollegeDB`.`Eleve` (
 `idPersonne` VARCHAR(15) NOT NULL,
 `dateNaissance` DATE NULL,
 `lieuNaissance` VARCHAR(45) NULL,
PRIMARY KEY (`idPersonne`),
INDEX `fk_Eleve_Personne1_idx` (`idPersonne` ASC),
CONSTRAINT `fk_Eleve_Personne1`
FOREIGN KEY (`idPersonne`)
REFERENCES `CollegeDB`.`Personne` (`idPersonne`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB

SQL script execution finished: statements: 10 succeeded, 1 failed

Fetching back view definitions in final form.
Nothing to fetch

我有表Personne和從中繼承的其他兩個表:Eleve和Enseignant總計我的EER圖工作台模型中有10個表,您知道嗎? 非常感謝

表人員:

CREATE TABLE IF NOT EXISTS `CollegeDB`.`Personne` (
 `idPersonne` VARCHAR(15) NOT NULL,
 `nom` VARCHAR(45) NULL,
 `prenom` VARCHAR(45) NULL,
 `sexe` VARCHAR(45) NULL,
 `statut` VARCHAR(45) NULL,
 `rue` VARCHAR(45) NULL,
 `image` VARCHAR(45) NULL,
 `cp` INT NULL,
PRIMARY KEY (`idPersonne`),
INDEX `cp_idx` (`cp` ASC),
CONSTRAINT `cp`
FOREIGN KEY (`cp`)
REFERENCES `CollegeDB`.`Commune` (`cp`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = big5
PACK_KEYS = Default;

您需要在Personne.idPersonne上創建索引。

http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html中

MySQL需要在外鍵和引用鍵上建立索引,以便外鍵檢查可以快速進行,而無需進行表掃描。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM