mysql中外鍵怎么表示 mysql 外鍵foreign key的詳解和實(shí)例

mysql怎么定義外鍵

數(shù)據(jù)庫(kù)mysql

專業(yè)成都網(wǎng)站建設(shè)公司,做排名好的好網(wǎng)站,排在同行前面,為您帶來(lái)客戶和效益!創(chuàng)新互聯(lián)為您提供成都網(wǎng)站建設(shè),五站合一網(wǎng)站設(shè)計(jì)制作,服務(wù)好的網(wǎng)站設(shè)計(jì)公司,網(wǎng)站制作、網(wǎng)站建設(shè)負(fù)責(zé)任的成都網(wǎng)站制作公司!

建立外鍵的前提:本表的列必須與外鍵類型相同(外鍵必須是外表主鍵)。

外鍵作用:使兩張表形成關(guān)聯(lián),外鍵只能引用外表中的列的值!

指定主鍵關(guān)鍵字:foreignkey(列名)

引用外鍵關(guān)鍵字:references外鍵表名(外鍵列名)

事件觸發(fā)限制:ondelete和onupdate,可設(shè)參數(shù)cascade(跟隨外鍵改動(dòng)),restrict(限制外表中的外鍵改動(dòng)),setNull(設(shè)空值),setDefault(設(shè)默認(rèn)值),[默認(rèn)]noaction

例如:

outTable表主鍵id類型int

創(chuàng)建含有外鍵的表:

createtabletemp(

idint,

namechar(20),

foreignkey(id)referencesoutTable(id)ondeletecascadeonupdatecascade);

說(shuō)明:把id列設(shè)為外鍵參照外表outTable的id列當(dāng)外鍵的值刪除本表中對(duì)應(yīng)的列篩除當(dāng)外鍵的值改變本表中對(duì)應(yīng)的列值改變。

自己實(shí)踐才能完全了解外鍵的作用關(guān)鍵是:事件觸發(fā)限制的作用

什么叫mysql的外鍵???

從上面的這個(gè)圖可以看到在設(shè)計(jì)的時(shí)候,就給表1添加一個(gè)外鍵,這個(gè)外鍵就是表2中的學(xué)號(hào)字段,那么這樣表1就是主表,表2就是子表。所以結(jié)合2張表就能保持?jǐn)?shù)據(jù)的一致性、完整性(估計(jì)就是還原成原來(lái)的那張大表)。

借著這個(gè)例子再談?wù)勍怄I的一些事項(xiàng):

1、表1可以有一個(gè)或者多個(gè)外鍵,也可以沒(méi)有。(如果表1有多個(gè)外鍵可不可以是這樣的情況,表2中的多個(gè)字段是表1的外鍵;或者說(shuō)表1的多個(gè)外鍵是在多個(gè)表中)

2、這個(gè)外鍵可以不是表1的主鍵,但必須是子表的主鍵。(簡(jiǎn)單的說(shuō)就是,如果一個(gè)字段是某個(gè)表的外鍵時(shí),那么該字段必須是主鍵)

mysql外鍵怎么寫(xiě)

mysql添加外鍵:

為已經(jīng)添加好的數(shù)據(jù)表添加外鍵:

語(yǔ)法:alter table 表名 add constraint FK_ID foreign key(你的外鍵字段名) REFERENCES 外表表名(對(duì)應(yīng)的表的主鍵字段名);

例: 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

*/

當(dāng)前標(biāo)題:mysql中外鍵怎么表示 mysql 外鍵foreign key的詳解和實(shí)例
轉(zhuǎn)載來(lái)于:http://muchs.cn/article44/dohopee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、云服務(wù)器、外貿(mào)網(wǎng)站建設(shè)網(wǎng)站收錄、軟件開(kāi)發(fā)、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)