轉帖|其它|編輯:郝浩|2012-10-12 11:55:33.000|閱讀 3677 次
概述:使用Navicat在MySQL數據庫平臺建立外鍵關聯具體辦法
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
要在Mysql數據庫平臺建立外鍵關聯,必須滿足以下幾個條件:
1. 兩個表必須為 InnoDB 類型。
2. 外鍵和被引用鍵必須是索引中的第一列,InnoDB 不會自動為外鍵和被引用鍵建立索引,必須明確創建
它們。
3. 外鍵與對應的被引用鍵在 InnoDB 內必須 有相似的內部數據類型,以便他們不需要一個類型轉換就可
以進行比較。 整型字段的長度與有符號類型必須一致。 字符型則不需要一致。如果指定了一個SET
NULL 動作,那你必須要確定 子表中的對應字段沒有定義為 NOT NULL
示例:
CREATE TABLE parent(id INT NOT NULL,
PRIMARY KEY (id)) TYPE=INNODB;
CREATE TABLE child(id INT, parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id) REFERENCES parent(id)
ON DELETE CASCADE
) TYPE=INNODB;
可以通過下面的方式在在后來添加外鍵約束:
ALTER TABLE yourtablename
ADD [CONSTRAINT symbol] FOREIGN KEY [id] (...)
REFERENCES table_name (index_col_name, ...)
[ON DELETE {CASCADE | SET NULL | NO ACTION
| RESTRICT}]
[ON UPDATE {CASCADE | SET NULL | NO ACTION
| RESTRICT}]
還可以使用 SHOW CREATE TABLE 'TABLENAME'來查看創建語句(如果使用了工具)
navicat中使用步驟:
定位于外鍵所在表->設計表,首先建立索引
欄位名中填入外鍵,必須是第一列,INNODB所規定
接著創建外鍵
cascade表示級聯更新刪除
保存就行了
如果有遇can't create....erron(150), 檢查一下數值型屬性有沒有定義為unsigned。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:CSDN