簡體   English   中英

#1215-無法添加外鍵約束

[英]#1215 - Cannot add foreign key constraint

我正在與Yiiframwork合作一個項目,並且我的數據庫項目中有此表

CREATE TABLE IF NOT EXISTS `tbl_annonce` (
  `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `idEntreprise` tinyint(3) unsigned NOT NULL 
   COMMENT 'CONSTRAINT FOREIGN KEY (idEntreprise) REFERENCES tbl_entreprise(id)',
  `titre` varchar(100) NOT NULL,
  `detailleDiscription` varchar(5000) NOT NULL,
  `categorie` varchar(100) DEFAULT NULL,
  `typePoste` varchar(100) NOT NULL,
  `salaireMin` varchar(80) NOT NULL,
  `salaireMax` varchar(80) NOT NULL,
  `niveauEtude` varchar(80) NOT NULL,
  `niveauExperience` varchar(80) NOT NULL,
  `langue` varchar(50) DEFAULT NULL,
  `poste` varchar(50) NOT NULL,
  `pays` varchar(50) NOT NULL,
  `ville` varchar(50) NOT NULL,
  `adresse` varchar(80) NOT NULL,
  `datePublication` timestamp NOT NULL 
       DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `etat` varchar(50) NOT NULL,
  `photo` varchar(255)  NULL,
  `nometr` text NOT NULL,
  PRIMARY KEY (`id`),
  CONSTRAINT `fk_idEntrepriseAnn` 
      FOREIGN KEY (idEntreprise) 
      REFERENCES tbl_entreprise(id)
      ON DELETE CASCADE ON UPDATE CASCADE
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

我只使用'comment'因為我在yii框架項目的教程中找到了它。 我在數據庫中將屬性' idEntreprise '設置為FK,但是當我輸入確實在表entreprise存在的其他'idEntreprise' ,這不是問題,而是一定有問題。

因此,我將'identreprise'添加為Fk,現在出現了此問題。

希望你理解我的問題:/

誰能幫助我!

要在列上定義外鍵,它必須滿足一些條件。

  1. 子列和父列必須具有相同的按類型定義的列定義(帶符號)。
  2. 父列必須具有定義的索引。

確保

  1. 索引tbl_entreprise.id列。
  2. 列定義idEntreprise tinyint(3) unsignedtbl_annonce與相匹配tbl_entreprise.id

參考MySQL:Foregin關鍵內容

暫無
暫無

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

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