MySQL是一款非常流行的關系型數(shù)據(jù)庫管理系統(tǒng),它的數(shù)據(jù)表之間可以通過外鍵來建立關聯(lián)。一般情況下,一個數(shù)據(jù)表只會有一個外鍵約束,但是也有時候需要在一個數(shù)據(jù)表中建立多個外鍵約束,那么我們應該如何進行編寫呢?
-- 首先,我們需要建立一個表test_a,該表包含兩個字段id和name CREATE TABLE `test_a` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 然后,我們再建立一個表test_b,該表包含兩個字段id和test_a_id CREATE TABLE `test_b` ( `id` int(11) NOT NULL AUTO_INCREMENT, `test_a_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `fk_test_b_test_a` (`test_a_id`), CONSTRAINT `fk_test_b_test_a` FOREIGN KEY (`test_a_id`) REFERENCES `test_a` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 接下來,我們就可以在表test_b中再建立一個外鍵約束,關聯(lián)到test_a中的id字段上 ALTER TABLE `test_b` ADD CONSTRAINT `fk_test_b_test_a2` FOREIGN KEY (`test_a_id`) REFERENCES `test_a` (`id`);
上述代碼中,我們通過ALTER TABLE命令,為表test_b建立了一個名為fk_test_b_test_a2的外鍵約束,關聯(lián)到test_a表中的id字段上。這樣,我們就可以實現(xiàn)在一個數(shù)據(jù)表中建立多個外鍵約束的需求了。