1、比方現在有兩張表“分類表”和“商品表”,為了表明商品屬於哪個分類,通常我們將在商品表上添加一列,用於存放分類cid的信息,此列稱為:外鍵。
此時分類表category稱為主表,cid稱為主鍵;商品表products稱為從表,category_id稱為外鍵。
外鍵特點:1)從表外鍵的值是主表主鍵的引用
# 2)從表外鍵類型必須與主表主鍵一致。
使用外鍵的目的:保證資料的完整性
2、先在指令提示字元內建立一個資料庫web09,並建立兩張表category和product,語句如下:
分別插入多條資料
eg.insert into category(cid,cname) values('c001','家电'); insert into product(pid,pname,price,category_id) values('p001','联想','5000','c001');
顯示如下:
##3、宣告外鍵約束語法:alter table 從表add [constraint] [外鍵名稱] foreign key (從表外鍵欄位名稱) references 主表(主表的主鍵);[外鍵名稱]用於刪除外鍵約束的,一般建議"_fk"結尾 #約束聲明後,如果我想刪除category表中cid=c003的數據,刪除不了 4、解除約束語法:alter table 從表drop foreign key 外鍵名稱 繼續刪除category表中cid=c003的數據,可以刪除 注意:從表外鍵不能新增主表中不存在的記錄 主表不能刪除從表中已經引用的記錄。 5、一對多建表原則: 6、多對多建表原則:#
以上是MySQL學習以外鍵的圖文詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!