MySQL數(shù)據(jù)庫中,外鍵是指在一個表中,存在一個字段引用了另一個表中的主鍵,在這個字段上建立的一種約束。而主鍵則是指在一個表中,唯一標識該表中每一行記錄的字段。
因此,外鍵和主鍵是兩個不同的概念。一個字段既可以是外鍵,也可以是主鍵,但是外鍵和主鍵不能重復(fù)。即在一個表中,同一個字段不能既是外鍵,又是主鍵。
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`role_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`role_id`) REFERENCES `role` (`id`)
);
上述代碼中,user表中的role_id字段是一個外鍵,它引用了role表中的id字段作為參照。而user表中的id字段則是主鍵,唯一標識該表中每一行記錄。
綜上所述,MySQL外鍵可以引用其他表中的主鍵,但是不能同時作為外鍵和主鍵使用。在建表時需要注意這一點,以免產(chǎn)生錯誤。