本文目錄一覽:
sql server如何添加外鍵
我們使用sql server創建數據表的時候,經常需要建立表之間的外鍵約束關係,那麼如何添加外鍵呢?下面我給大家分享一下。
工具/材料
sql server
首先我們先來建立兩個表,如下圖所示,班級表和年級表
然後右鍵單擊班級表,在彈出的菜單中選擇關係選項,如下圖所示
接下來在彈出的表和關係界面中設置外鍵對應字段,如下圖所示
最後我們就可以在左側看見外鍵約束關係了,如下圖所示
mysql怎麼設定外鍵
為已經添加好的數據表添加外鍵:
語法:alter table 表名 add constraint FK_ID foreign key(你的外鍵字段名) REFERENCES 外表表名(對應的表的主鍵字段名);
例: alter table tb_active add constraint FK_ID foreign key(user_id) REFERENCES tb_user(id)
//FK_ID是外鍵的名稱
/*
CREATE TABLE `tb_active` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`content` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`user_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `user_id_2` (`user_id`),
CONSTRAINT `FK_ID` FOREIGN KEY (`user_id`) REFERENCES `tb_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
*/
刪除外鍵
語法: ALTER TABLE table-name DROP FOREIGN KEY key-id;
例: ALTER TABLE `tb_active` DROP FOREIGN KEY ‘FK_ID’
自動鍵更新和刪除:
外鍵可以保證新插入的記錄的完整性,但是,如果在REFERENCES從句中已命名的表刪除記錄會怎麼樣?在使用同樣的值作為外鍵的輔助表中會發生什麼?
很明顯,那些記錄也應該被刪除,否則在數據庫中就會有很多無意義的孤立記錄,MYSQL可以通過向FOREIGN KEY…REFERENCES修飾符添加一個ON DELETE 或ON UPDATE子句簡化任務,它告訴了數據庫在這種情況如何處理孤立任務。
mysql數據庫如何添加外鍵
mysql增加外鍵的方法:1、在CREATE TABLE語句中,通過FOREIGN KEY關鍵字來添加外鍵;2、在ALTER TABLE語句中,通過ADD和FOREIGN KEY關鍵字來添加外鍵。
如何設置數據庫中的外鍵
創建數據庫時就是有主鍵的創建了主鍵,但是表之間的關係沒有聯繫,要建數據庫關係圖只有主鍵沒有外鍵時不行的。
建外鍵的前提是此外鍵必須是另外一個表的主鍵。建外鍵的步驟:
第一步、打開要建外鍵表的設計器,右擊選擇“關係”。
第二步、然後彈出“外鍵關係”窗體,我們選擇“添加”,然後點擊“表和列規範”後面的小按鈕。
第三步、彈出另外一個窗體讓我們選擇主鍵表和列,記住要選擇相同的,選好之後點擊確定。
第四步、展開INSERT和UPDATE規範,在更新規則和刪除規則有四個選項,分別是“不執行任何操作”、“級聯”、“設置為NULL”、“設置默認值”。
默認的不執行任何操作。如果是“不執行任何操作”,當我們刪除或更新主鍵表的數據時,會告訴用戶不能執行刪除或更新該操作。
“級聯”的意思是當我們刪除或更新主鍵表的數據時,會刪除或更新外鍵表中所涉及的相關數據的所有行。
“設置Null”的意思是當我們刪除或更新主鍵表的數據時,外鍵表中的外鍵列的值會設為Null,但前提是該列允許為空。
“設置默認值”的意思是如果我們將外鍵列定義了默認值,當我們刪除或更新主鍵表的數據時,外鍵表中的外鍵列的值設為定義的默認值。
當然也可以用代碼創建,在創建數據庫表T——Card時只要加上一句代碼就可以了。“Foreign key (studentNo) references T_Student(studentNo)”。如果已經創建了改表,那如何用代碼實現了,這也很簡單也就一句代碼“ add constraint CMPKey(外鍵名) foreign key(studentNo) references T_Student(studentNo)”。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/182497.html