欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

如何在MySQL中設置外鍵約束以及外鍵的作用

劉柏宏2年前20瀏覽0評論
mysql數據庫 外鍵,如何在MySQL中設置外鍵約束以及外鍵的作用?

外鍵的作用:外鍵主要用來保證數據的完整性和一致性,便于關系數據的日常維護。是兩張關系表中的主表數據修改或刪除是自動操作字表中的數據。(外鍵并不是費用不可,通過程序邏輯上的操作完全可以替代)

注意事項:

1、兩個表必須是InnoDB表,MyISAM表暫時不支持外鍵

2、如果在較早的版本(4.1.2以前)則需要顯示建立外鍵列必須建立了索引

3、外鍵關系的兩個表的列必須是數據類型相似。比如int和tinyint可以,而int和char則不可以

外鍵約束使用最多的兩種情況:

1)父表更新時子表也更新,父表刪除時如果子表有匹配的項,刪除失敗;

2)父表更新時子表也更新,父表刪除時子表匹配的項也刪除。

前一種情況,在外鍵定義中,用ON UPDATE CASCADE ON DELETE RESTRICT;

后一種情況,可以使用ON UPDATE CASCADE ON DELETE CASCADE。

舉例說明:用最常見的場景:文章表,和分類表;

創建外鍵約束:

ALTER TABLE `article`ADD CONSTRAINT `fk_1` FOREIGN KEY (`category_id`) REFERENCES `category` (`id`);

現在刪除分類表中的一條數據:

文章表添加一條數據:

這樣是不是就保證了文章表里的分類ID 都能在分類表找到對應的名稱啦?

下面我們刪除外鍵重新創建: