亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

添加外鍵約束出錯

mysql> ALTER TABLE t2 ADD FOREIGN KEY (pid) REFERENCES t1(id);

ERROR 1005 (HY000): Can't create table 't1.#sql-b8c_1' (errno: 150)

我搜索了一下原因說是缺少索引,但是我的兩個表都有主鍵,老師不是說創建外鍵約束的時候自動創建索引嗎為什么我的不行呢。跟老師代碼一模一樣,它添加成功之后字表有了KEY字段,代表索引,我添加不成功。

正在回答

1 回答

在mysql 中建立引用約束的時候會出現MySQL ERROR 1005: Can't create table (errno: 150)的錯誤信息結果是不能建立 引用約束。

出現問題的大致情況

1、外鍵的引用類型不一樣,如主鍵是int外鍵是char

2、找不到主表中引用的列

3、主鍵和外鍵的字符編碼不一致,也可能存儲引擎不一樣

4、MySQL支持外鍵約束,但表類型必須為 InnoDB?


0 回復 有任何疑惑可以回復我~
#1

無悔欲 提問者

非常感謝!
2017-09-19 回復 有任何疑惑可以回復我~
#2

無悔欲 提問者

我粗心了,外檢引用的類型沒有寫unsigned,看來還是得細心啊,謝謝
2017-09-19 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
與MySQL的零距離接觸
  • 參與學習       396747    人
  • 解答問題       3497    個

本課程涵蓋全部MySQL數據庫的基礎,學習MySQL數據庫的基礎知識

進入課程

添加外鍵約束出錯

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號