第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

MySQL外鍵錯(cuò)誤1005錯(cuò)誤150

MySQL外鍵錯(cuò)誤1005錯(cuò)誤150

瀟瀟雨雨 2019-09-05 10:06:13
MySQL外鍵錯(cuò)誤1005錯(cuò)誤150我正在使用MySQL Workbench做一個(gè)小型數(shù)據(jù)庫(kù)。我有一個(gè)名為“Immobili”的主表,它有一個(gè)由四列組成的主鍵:( Comune,Via,Civico,Immobile)?,F(xiàn)在,我還有另外三個(gè)表,它們具有相同的主鍵(Comune,Via,Civico,Immobile),但這些字段也引用了表Immobili。第一個(gè)問題:我可以制作一個(gè)也是外鍵的主鍵嗎?第二個(gè)問題:當(dāng)我嘗試導(dǎo)出更改時(shí),它說:在服務(wù)器中執(zhí)行SQL腳本# ERROR: Error 1005: Can't create table 'dbimmobili.condoni' (errno: 150)CREATE  TABLE IF NOT EXISTS `dbimmobili`.`Condoni` (   `ComuneImmobile` VARCHAR(50) NOT NULL ,   `ViaImmobile` VARCHAR(50) NOT NULL ,   `CivicoImmobile` VARCHAR(5) NOT NULL ,   `InternoImmobile` VARCHAR(3) NOT NULL ,   `ProtocolloNumero` VARCHAR(15) NULL ,   `DataRichiestaSanatoria` DATE NULL ,   `DataSanatoria` DATE NULL ,   `SullePartiEsclusive` TINYINT(1) NULL ,   `SullePartiComuni` TINYINT(1) NULL ,   `OblazioneInEuro` DOUBLE NULL ,   `TecnicoOblazione` VARCHAR(45) NULL ,   `TelefonoTecnico` VARCHAR(15) NULL ,   INDEX `ComuneImmobile` (`ComuneImmobile` ASC) ,   INDEX `ViaImmobile` (`ViaImmobile` ASC) ,   INDEX `CivicoImmobile` (`CivicoImmobile` ASC) ,   INDEX `InternoImmobile` (`InternoImmobile` ASC) ,   PRIMARY KEY (`ComuneImmobile`, `ViaImmobile`, `CivicoImmobile`, `InternoImmobile`) ,   CONSTRAINT `ComuneImmobile`     FOREIGN KEY (`ComuneImmobile` )     REFERENCES `dbimmobili`.`Immobile` (`ComuneImmobile` )     ON DELETE CASCADE     ON UPDATE CASCADE,   CONSTRAINT `ViaImmobile`     FOREIGN KEY (`ViaImmobile` )     REFERENCES `dbimmobili`.`Immobile` (`ViaImmobile` )     ON DELETE CASCADE     ON UPDATE CASCADE,   CONSTRAINT `CivicoImmobile`     FOREIGN KEY (`CivicoImmobile` )     REFERENCES `dbimmobili`.`Immobile` (`CivicoImmobile` )     ON DELETE CASCADE     ON UPDATE CASCADE,   CONSTRAINT `InternoImmobile`     FOREIGN KEY (`InternoImmobile` )     REFERENCES `dbimmobili`.`Immobile` (`InternoImmobile` )     ON DELETE CASCADE     ON UPDATE CASCADE) ENGINE = InnoDB顯示引擎狀態(tài):表dbimmobili / valutazionimercato的外鍵約束出錯(cuò):在引用的表中找不到索引,其中引用的列顯示為第一列,或者表中的列類型和引用的表與約束不匹配。請(qǐng)注意,使用> = InnoDB-4.1.12創(chuàng)建的表中ENUM和SET的內(nèi)部存儲(chǔ)類型已更改,舊表中的此類列不能被新表中的此類列引用。我做錯(cuò)了什么?
查看完整描述

3 回答

?
ITMISS

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊

創(chuàng)建外鍵約束時(shí),MySQL需要在引用表和引用表上都有可用的索引。如果不存在,則會(huì)自動(dòng)創(chuàng)建引用表上的索引,但需要手動(dòng)創(chuàng)建引用表上的索引()。你的似乎不見了。

測(cè)試用例:

CREATE TABLE tbl_a (
    id int PRIMARY KEY,
    some_other_id int,
    value int) ENGINE=INNODB;Query OK, 0 rows affected (0.10 sec)CREATE TABLE tbl_b (
    id int PRIMARY KEY,
    a_id int,
    FOREIGN KEY (a_id) REFERENCES tbl_a (some_other_id)) ENGINE=INNODB;ERROR 1005 (HY000): Can't create table 'e.tbl_b' (errno: 150)

但是,如果我們添加一個(gè)索引some_other_id

CREATE INDEX ix_some_id ON tbl_a (some_other_id);Query OK, 0 rows affected (0.11 sec)Records: 0  Duplicates: 0  Warnings: 0CREATE TABLE tbl_b (
    id int PRIMARY KEY,
    a_id int,
    FOREIGN KEY (a_id) REFERENCES tbl_a (some_other_id)) ENGINE=INNODB;Query OK, 0 rows affected (0.06 sec)

在大多數(shù)情況下,這通常不是問題,因?yàn)橐玫淖侄瓮ǔJ且帽淼闹麈I,并且主鍵是自動(dòng)索引的。



查看完整回答
反對(duì) 回復(fù) 2019-09-07
?
翻閱古今

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超5個(gè)贊

仔細(xì)檢查外鍵是否與此表中的字段具有完全相同的類型。例如,兩者都應(yīng)該是Integer(10)或Varchar(8),甚至是字符數(shù)。

查看完整回答
反對(duì) 回復(fù) 2019-09-07
  • 3 回答
  • 0 關(guān)注
  • 551 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)