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

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

錯(cuò)誤代碼:1005。無(wú)法創(chuàng)建表'...'(錯(cuò)誤號(hào):150)

錯(cuò)誤代碼:1005。無(wú)法創(chuàng)建表'...'(錯(cuò)誤號(hào):150)

慕斯王 2019-09-20 16:52:21
我在Internet上搜索了這個(gè)問(wèn)題的解決方案,并檢查了Stack Overflow問(wèn)題,但沒(méi)有一個(gè)解決方案適合我的情況。我想從表sira_no到metal_kod創(chuàng)建一個(gè)外鍵。ALTER TABLE sira_no    ADD CONSTRAINT METAL_KODU FOREIGN KEY(METAL_KODU)    REFERENCES metal_kod(METAL_KODU)    ON DELETE SET NULL    ON UPDATE SET NULL ;該腳本返回:Error Code: 1005. Can't create table 'ebs.#sql-f48_1a3' (errno: 150)我嘗試在引用的表中添加索引:CREATE INDEX METAL_KODU_INDEX ON metal_kod (METAL_KODU);我在兩個(gè)表(charset和collation)上檢查了METAL_KODU,但我找不到解決這個(gè)問(wèn)題的方法。我該如何解決這個(gè)問(wèn)題?這是metal_kod表:METAL_KODU    varchar(4)    NO    PRIDURUM    bit(1)    NOMETAL_ISMI    varchar(30)    NOAYAR_YOGUNLUK    smallint(6)    YES        100
查看完整描述

3 回答

?
子衿沉夜

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

錯(cuò)誤代碼:1005 - 代碼中的主鍵引用錯(cuò)誤

通常是由于引用的外鍵字段不存在??赡苁悄阌幸粋€(gè)拼寫錯(cuò)誤,或者檢查它應(yīng)該是相同的,或者是字段類型不匹配。外鍵鏈接字段必須與定義完全匹配。

一些已知的原因可能是:

  1. 兩個(gè)關(guān)鍵字段類型和/或大小不完全匹配。例如,如果一個(gè)是INT(10)關(guān)鍵字段需要INT(10)也是,而不是INT(11)TINYINT。您可能需要確認(rèn)字段大小,SHOW CREATE TABLE因?yàn)椴樵優(yōu)g覽器有時(shí)會(huì)直觀地顯示INTEGER兩者INT(10)INT(11)。你還應(yīng)該檢查一個(gè)不是SIGNED,另一個(gè)是UNSIGNED。它們都需要完全相同。

  2. 您嘗試引用的關(guān)鍵字段之一沒(méi)有索引和/或不是主鍵。如果關(guān)系中的某個(gè)字段不是主鍵,則必須為該字段創(chuàng)建索引。

  3. 外鍵名稱是已存在鍵的副本。檢查外鍵的名稱在數(shù)據(jù)庫(kù)中是否唯一。只需在密鑰名稱的末尾添加一些隨機(jī)字符即可對(duì)其進(jìn)行測(cè)試。

  4. 您的一個(gè)或兩個(gè)表是一個(gè)MyISAM表。為了使用外鍵,表必須都是InnoDB。(實(shí)際上,如果兩個(gè)表都是,MyISAM那么您將不會(huì)收到錯(cuò)誤消息 - 它只是不會(huì)創(chuàng)建密鑰。)在查詢?yōu)g覽器中,您可以指定表類型。

  5. 您已指定級(jí)聯(lián)ON DELETE SET NULL,但相關(guān)鍵字段設(shè)置為NOT NULL。您可以通過(guò)更改級(jí)聯(lián)或?qū)⒆侄卧O(shè)置為允許NULL值來(lái)解決此問(wèn)題。

  6. 確保Charset和Collate選項(xiàng)在表級(jí)別以及關(guān)鍵列的單個(gè)字段級(jí)別都相同。

  7. 外鍵列上有一個(gè)默認(rèn)值(即默認(rèn)值= 0)

  8. 關(guān)系中的一個(gè)字段是組合(復(fù)合)鍵的一部分,并且沒(méi)有自己的單獨(dú)索引。即使該字段具有索引作為復(fù)合鍵的一部分,您也必須僅為該鍵字段創(chuàng)建單獨(dú)的索引,以便在約束中使用它。

  9. 您的ALTER語(yǔ)句中存在語(yǔ)法錯(cuò)誤,或者您在關(guān)系中輸入了一個(gè)字段名稱

  10. 外鍵的名稱超過(guò)64個(gè)字符的最大長(zhǎng)度。


查看完整回答
反對(duì) 回復(fù) 2019-09-20
?
弒天下

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

將數(shù)據(jù)庫(kù)從一個(gè)服務(wù)器導(dǎo)出到另一個(gè)服務(wù)器時(shí),也可能發(fā)生這種情況,默認(rèn)情況下,這些表按字母順序列出。

因此,您的第一個(gè)表可能具有另一個(gè)尚未創(chuàng)建的表的外鍵。在這種情況下,請(qǐng)禁用foreign_key_checks并創(chuàng)建數(shù)據(jù)庫(kù)。


只需將以下內(nèi)容添加到腳本中:


SET FOREIGN_KEY_CHECKS=0;

它應(yīng)該工作。


查看完整回答
反對(duì) 回復(fù) 2019-09-20
?
阿晨1998

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

有時(shí)它是由于主表被刪除(可能是通過(guò)禁用foreign_key_checks),但外鍵CONSTRAINT仍然存在于其他表中。在我的情況下,我放棄了桌子并嘗試重新創(chuàng)建它,但它給我?guī)?lái)了同樣的錯(cuò)誤。

因此,嘗試從所有表中刪除所有外鍵CONSTRAINT(如果有),然后更新或創(chuàng)建表。


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

添加回答

舉報(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)