日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库技术mysql能干什么_MySQL外键有什么作用

發布時間:2025/3/20 数据库 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库技术mysql能干什么_MySQL外键有什么作用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MySQL外鍵的作用:

保持數據一致性,完整性,主要目的是控制存儲在外鍵表中的數據。使兩張表形成關聯,外鍵只能引用外表中列的值!

我們來建兩個表

CREATE TABLE `example1` (

`stu_id` int(11) NOT NULL DEFAULT '0',

`course_id` int(11) NOT NULL DEFAULT '0',

`grade` float DEFAULT NULL,

PRIMARY KEY (`stu_id`,`course_id`)

);

CREATE TABLE `example2` (

`id` int(11) NOT NULL,

`stu_id` int(11) DEFAULT NULL,

`course_id` int(11) DEFAULT NULL,

PRIMARY KEY (`id`),

KEY `f_ck` (`stu_id`,`course_id`),

CONSTRAINT `f_ck` FOREIGN KEY (`stu_id`, `course_id`) REFERENCES `example1` (`stu_id`, `course_id`)

);

insert into example1 (stu_id,course_id,grade)values(1,1,98.5),(2,2,89);

insert into example2 (id,stu_id,course_id)values(1,1,1),(2,2,2);

我們建了

example1表,里面包含stu_id學號,course_id課程號,grade分數

example2表,里面包含id,stu_id學號,course_id課程號,然后建立外鍵

分別插入數據到兩個表中。

我們把example2中的stu_id和course_id稱為example2表的外鍵,example1是父表,example2是字表,兩個表形成關聯,必須字表的數據刪除后,才能刪除父表中的對應數據

現在我們來刪除example1中的一條數據

delete from example1 where stu_id=2;

會發現報錯

ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`test`.`example3`, CONSTRAINT `f_ck` FOREIGN KEY (`stu_id`, `course_id`) REFERENCES `example2` (`stu_id`, `course_id`))

因為example2中的數據關聯了example1的數據,這樣是刪不了的,達到了外鍵的作用;

然后我們來先刪除example2表中的數據,再刪除example1表中的數據

delete from example2 where stu_id=2;

delete from example1 where stu_id=2;

這樣就成功了;

事件觸發限制:

on delete和on update , 可設參數cascade(跟隨外鍵改動), restrict(限制外表中的外鍵改動),set Null(設空值),set Default(設默認值),[默認]no action

我們來看看事件觸發限制是干嘛的。。。

我們先刪除外鍵,然后重新建立外鍵帶上事件觸發限制

alter table example2 drop foreign key f_ck;

alter table example2 add CONSTRAINT `f_ck` FOREIGN KEY (`stu_id`, `course_id`) REFERENCES `example1` (`stu_id`, `course_id`) ON DELETE CASCADE ON UPDATE CASCADE;

我們先查看一下數據

mysql> select * from example1;select * from example2;

+--------+-----------+-------+

| stu_id | course_id | grade |

+--------+-----------+-------+

|? ? ? 1 |? ? ? ? 1 |? 98.5 |

+--------+-----------+-------+

1 row in set (0.00 sec)

+----+--------+-----------+

| id | stu_id | course_id |

+----+--------+-----------+

|? 1 |? ? ? 1 |? ? ? ? 1 |

+----+--------+-----------+

1 row in set (0.00 sec)

這時example1和example2中的stu_id和course_id都是1,

再來修改example1表中的數據看看

update example1 set stu_id=3,course_id=3 where stu_id=1;

再來查看數據

mysql> select * from example1;select * from example2;

+--------+-----------+-------+

| stu_id | course_id | grade |

+--------+-----------+-------+

|? ? ? 3 |? ? ? ? 3 |? 98.5 |

+--------+-----------+-------+

1 row in set (0.00 sec)

+----+--------+-----------+

| id | stu_id | course_id |

+----+--------+-----------+

|? 1 |? ? ? 3 |? ? ? ? 3 |

+----+--------+-----------+

1 row in set (0.00 sec)

發現沒,example1和example2中的stu_id和course_id都變成了3

我們在來刪除example1表中的數據

delete from example1 where stu_id=3;

會發現可以刪除,而且example2中的數據也沒有了;

其實啊,外鍵就這個作用,保持數據一致性,完整性,是不讓改還是一起改,由事件觸發器決定;

總結

以上是生活随笔為你收集整理的数据库技术mysql能干什么_MySQL外键有什么作用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 麻豆av免费在线观看 | 国产精品一区久久 | 在线免费一级片 | 欧美亚洲自拍偷拍 | 91在线观看 | 国产精品高清网站 | 午夜精品福利一区二区蜜股av | 午夜精品久久久久久久 | 欧美一级一级一级 | 精品1区2区3区 | 亚洲自拍偷拍图 | 国产主播在线看 | 蜜桃成人在线观看 | 无码精品一区二区三区在线播放 | 国产永久精品 | 香港日本韩国三级网站 | www.四虎在线观看 | 黄瓜视频在线免费观看 | 人人爽久久涩噜噜噜网站 | www九九九 | 一区二区日韩 | 国产性按摩| wwwa级片| 久久网亚洲 | 经典av在线| 欧美视频在线观看视频 | 别揉我奶头啊嗯一区二区 | 性感美女毛片 | 免费在线观看黄视频 | 欧美色综合天天久久综合精品 | 国产精品久久久一区二区 | 亚洲xxx视频 | 4438x五月天 日吊视频 | www色网站 | 国产色影院| 久久激情网站 | 99久精品视频 | 日韩视频一区二区三区在线播放免费观看 | 欧美性生活在线视频 | 亚洲天堂网在线视频 | 国产精品夜色一区二区三区 | 曰本黄色片 | 99自拍视频在线观看 | 爱爱综合 | 中文字幕3区 | 国产成人无码AA精品区 | 亚洲天堂一区二区在线 | 亚洲一级淫片 | 四川操bbb| h部分肌肉警猛淫文 | av毛片一区 | 天天干天天爱天天操 | 精品无码久久久久久久 | 日本精品一二三区 | 嫩草影院永久入口 | 一起草av在线 | 免费观看黄色小视频 | a毛片视频 | 蜜桃传媒一区二区亚洲 | 中文字幕av一区二区三区人妻少妇 | 黄色一级片毛片 | 国产欧美一区二区三区精品酒店 | 国产艳妇疯狂做爰视频 | 欧美日韩成人一区二区在线观看 | 国产午夜片 | 国产日韩视频在线观看 | 黑丝美女一区二区 | 在线免费看av | 中国精品视频 | 国产欧美日韩综合精品一区二区三区 | 国产亚洲精品久久久久久久 | 热久久精品免费视频 | 国产人久久人人人人爽 | 欧美69av | 二区在线播放 | 肉丝美足丝袜一区二区三区四 | 国产系列精品av | 在线成人日韩 | 欧美69视频 | 欧美三级在线观看视频 | 秋霞国产 | 国产第一精品 | avwww.| 久久超碰av | 狠狠夜夜| 永久免费看mv网站入口78 | 亚洲一级二级三级 | 欧美精品动漫 | 亚洲第一黄色 | 高h亲子乱h | 日日操夜夜操狠狠操 | 精品视频区 | 欧美三级视频 | 999色综合| 久草精品视频在线观看 | 中日韩午夜理伦电影免费 | 狠狠爱视频 | 少妇2做爰hd韩国电影 | 91 久久|