在MySQL數(shù)據(jù)庫(kù)中,建立表外鍵可以實(shí)現(xiàn)數(shù)據(jù)表之間的關(guān)聯(lián),提高數(shù)據(jù)庫(kù)數(shù)據(jù)的完整性和一致性。下面我們來(lái)了解一下如何在MySQL中建立表外鍵。
首先,我們需要先創(chuàng)建兩個(gè)數(shù)據(jù)表,分別為主表和從表。以學(xué)生表和成績(jī)表為例,學(xué)生表為主表,成績(jī)表為從表。
創(chuàng)建主表的語(yǔ)句如下:
CREATE TABLE student ( id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL, gender VARCHAR(10) NOT NULL, age INT(3) NOT NULL );創(chuàng)建從表的語(yǔ)句如下:
CREATE TABLE score ( id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, subject VARCHAR(20) NOT NULL, score INT(3) NOT NULL, student_id INT(11), FOREIGN KEY(student_id) REFERENCES student(id) );在從表創(chuàng)建時(shí),我們需要為從表的外鍵指定參照主表的主鍵,這里的"student_id"是成績(jī)表中的學(xué)生id字段,將其設(shè)為外鍵。在最后一行代碼中,使用"REFERENCES"關(guān)鍵字指定參照主表的"id"字段作為外鍵的參照目標(biāo)。 這樣,在插入成績(jī)信息時(shí),只有在學(xué)生表中存在該學(xué)生id,才能在成績(jī)表中插入該學(xué)生的成績(jī)信息。這樣可以有效保證數(shù)據(jù)的一致性和完整性。