您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關mysql如何使用foreign key,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
實驗:
//創建父表,并添加索引
CREATE TABLE parent(id INT,msg VARCHAR(200), INDEX index_id(id));
//查看索引
SHOW INDEX FROM parent;
//創建子表(外鍵)
CREATE TABLE child (c_id INT,c_mgs VARCHAR(200),FOREIGN KEY (c_id) REFERENCES parent (id)
ON DELETE CASCADE ON UPDATE CASCADE );
//插入數據
INSERT INTO parent VALUES (1,'aaa');
INSERT INTO child VALUES (1,'aaa');
------注意:如果子表外鍵參照的主表沒有數據,子表插入數據將會報錯
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)
//查看插入數據
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
關于“mysql如何使用foreign key”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。