MySQL創(chuàng)建有外鍵的表需要注意的事項
作者:佚名
在MySQL數(shù)據(jù)庫中,如果創(chuàng)建的表帶有外鍵,那么就有一些問題值得我們注意,下面就讓一起來了解一下。
MySQL創(chuàng)建有外鍵的表,有一些注意事項,下面就為您介紹一些和MySQL創(chuàng)建有外鍵的表相關(guān)的問題,供您參考學(xué)習(xí)之用。
創(chuàng)建以下數(shù)據(jù)庫表:
- 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ù)庫必須使用InnoDB引擎;
2、外鍵必須建立索引(INDEX),否則出現(xiàn)以下錯誤:
SQL執(zhí)行錯誤#1005.從數(shù)據(jù)庫的響應(yīng):
Can't create table (errno: 150)。
【編輯推薦】
責(zé)任編輯:段燃
來源:
互聯(lián)網(wǎng)