您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關(guān)mysql如何使用foreign key,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
實驗:
//創(chuàng)建父表,并添加索引
CREATE TABLE parent(id INT,msg VARCHAR(200), INDEX index_id(id));
//查看索引
SHOW INDEX FROM parent;
//創(chuàng)建子表(外鍵)
CREATE TABLE child (c_id INT,c_mgs VARCHAR(200),FOREIGN KEY (c_id) REFERENCES parent (id)
ON DELETE CASCADE ON UPDATE CASCADE );
//插入數(shù)據(jù)
INSERT INTO parent VALUES (1,'aaa');
INSERT INTO child VALUES (1,'aaa');
------注意:如果子表外鍵參照的主表沒有數(shù)據(jù),子表插入數(shù)據(jù)將會報錯
INSERT INTO child VALUES (2,'aaa');
錯誤代碼: 1452
Cannot add or update a child row: a foreign key constraint fails (`czb`.`child`, CONSTRAINT `child_ibfk_1` FOREIGN KEY (`c_id`) REFERENCES `parent` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
//查看插入數(shù)據(jù)
SELECT * FROM parent;
SELECT * FROM child;
//查看外鍵約束
SELECT * FROM information_schema.`KEY_COLUMN_USAGE` WHERE table_name='child';
SELECT * FROM information_schema.`REFERENTIAL_CONSTRAINTS`;
//刪除外鍵約束
ALTER TABLE child DROP FOREIGN KEY child_ibfk_1;
//添加外鍵約束
ALTER TABLE child ADD FOREIGN KEY (c_id) REFERENCES parent (id)
ON DELETE CASCADE ON UPDATE CASCADE
關(guān)于“mysql如何使用foreign key”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。