2012-02-28 25 views
3

我有聯合主鍵(X,Y,Z)和表的額外條目時我秀創建表確實MySQL的節目創建表顯示KEY

`X` int(10) unsigned NOT NULL, 
`Y` int(10) unsigned NOT NULL, 
`Z` int(11) NOT NULL, 
`C` bigint(20) NOT NULL, 
PRIMARY KEY (`X`,`Y`,`Z`), 
KEY `Y` (`Y`), 
KEY `Z` (`Z`), 
CONSTRAINT `T_ibfk_1` FOREIGN KEY (`X`) REFERENCES `X_T` (`X`), 
CONSTRAINT `T_ibfk_2` FOREIGN KEY (`Y`) REFERENCES `Y_T` (`ID`), 
CONSTRAINT `T_ibfk_3` FOREIGN KEY (`Z`) REFERENCES `Z_T` (`Z`) 

爲什麼我們得到KEY 'Y' ('Y')KEY 'Z' ('Z') ?這是否意味着什麼?

回答

1

如果表是MySQL Innodb表,那麼您應該知道InnoDB爲每個外鍵約束創建一個索引,這個索引不能被刪除。因此,兩個指數Y和Z,因爲X在主鍵

1

這就是索引的名稱和索引的字段。你可以命名索引,使它們更具描述性。

KEY `index name` (`fields`) 
0

這意味着除主鍵之外還增加了兩個其他索引。看起來這些鍵是在phpMyAdmin中創建的,因爲當索引添加到單個字段時,它默認使用列名作爲鍵名。