簡體   English   中英

添加外鍵時出錯

[英]error in adding foreign key

我有兩個表: tab1,tab2

我想向tab2添加外鍵並編寫此查詢

ALTER TABLE tab2
ADD FOREIGN KEY(name) REFERENCES tab1(name)

但是我得到這個錯誤:

error 1005(HY000):can't create table 'club.#sql-6f0_2' (errno:150)

怎么了?

Edit

i write this tables only for test.

tab1

name char(20) private key

lname char(20)


tab2

ssn int private key

name char(20)

大約一個小時前,我在對您的另一個問題的評論中為您回答了這個問題,但這里又是一個問題:

您可以通過運行SHOW ENGINE INNODB STATUS\\G並閱讀“ LATEST FOREIGN KEY ERROR部分來獲取有關該錯誤的詳細信息。

失敗的最可能原因:

  • tab1.name和tab2.name數據類型不完全相同
  • tab1.name不是唯一的

嘗試這個:

alter table tab2
add foreign key my_key(name) references tab1(name)

也許您的鑰匙應該有名字?

您不能在默認的MySQL存儲引擎(ISAM,MyISAM)上定義外鍵,使用InnoDB作為引擎,然后添加外鍵約束。

暫無
暫無

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

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