MySQL創(chuàng)建有外鍵的表需要注意的事項(xiàng)
MySQL創(chuàng)建有外鍵的表,有一些注意事項(xiàng),下面就為您介紹一些和MySQL創(chuàng)建有外鍵的表相關(guān)的問(wèn)題,供您參考學(xué)習(xí)之用。
創(chuàng)建以下數(shù)據(jù)庫(kù)表:
- CREATE TABLE `roottb` (
 - `id` INT(11) UNSIGNED AUTO_INCREMENT NOT NULL,
 - `data` VARCHAR(100) NOT NULL DEFAULT '',
 - PRIMARY KEY (`id`)
 - ) TYPE=InnoDB;
 - CREATE TABLE `subtb` (
 - `id` INT(11) UNSIGNED AUTO_INCREMENT NOT NULL,
 - `rootid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
 - `data` VARCHAR(100) NOT NULL DEFAULT '',
 - PRIMARY KEY (`id`),
 - INDEX (`rootid`),
 - FOREIGN KEY (`rootid`) REFERENCES roottb(`id`) ON DELETE CASCADE
 - ) TYPE=InnoDB;
 
MySQL創(chuàng)建有外鍵的表要注意的:
1、只有InnoDB引擎才允許使用外鍵,所以數(shù)據(jù)庫(kù)必須使用InnoDB引擎;
2、外鍵必須建立索引(INDEX),否則出現(xiàn)以下錯(cuò)誤:
SQL執(zhí)行錯(cuò)誤#1005.從數(shù)據(jù)庫(kù)的響應(yīng): 
Can't create table (errno: 150)。 
 
【編輯推薦】















 
 
 


 
 
 
 