search
HomeDatabaseMysql Tutorial如何设置主键和外键,实现级联更新、级联删除
如何设置主键和外键,实现级联更新、级联删除Jun 07, 2016 pm 03:29 PM
primary keydeleteforeign keyhowaccomplishrenewcascadeset up

主键、外键和索引的区别? 主键 外键 索引 定义: 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键, 外键可以有重复的, 可以是空 该字段没有重复,但可以有一个空 作用: 用来保证数据完整性 用来和其他表建立联系用的 是提高查询排序的

主键、外键和索引的区别?

主键 外键 索引
定义: 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键, 外键可以有重复的, 可以是空值 该字段没有重复值,但可以有一个空值
作用: 用来保证数据完整性 用来和其他表建立联系用的 是提高查询排序的速度
个数: 主键只能有一个 一个表可以有多个外键 一个表可以有多个惟一索引

设置索引

若要设置外键,在参照表(pc表) 和被参照表(parts表)中,相对应的两个字段必须都设置索引(index)。

对parts表:

ALTER TABLE parts ADD INDEX idx_model (model);
这句话的意思是,为parts表增加一个索引,索引建立在model字段上,给这个索引起个名字叫idx_model。

对pc表也类似:

ALTER TABLE pc ADD INDEX idx_cpumodel (cpumodel);

定义外键

下面为两张表之间建立前面所述的那种“约束”。因为pc的CPU型号必须参照parts表中的相应型号,所以我们将pc表的cpumodel字段设置为“外键”(FOREIGN KEY),即这个键的参照值来自于其他表。

ALTER TABLE pc ADD CONSTRAINT fk_cpu_model

FOREIGN KEY (cpumodel)

REFERENCES parts(model);

级联操作

级联更新:更新主键时,外键也随之更新。

可以在定义外键的时候,在最后加入这样的关键字:
ON UPDATE CASCADE;

即在主表更新时,子表(们)产生连锁更新动作,似乎有些人喜欢把这个叫“级联”操作。

如果把这语句完整的写出来,就是:

ALTER TABLE pc ADD CONSTRAINT fk_cpu_model

FOREIGN KEY (cpumodel)

REFERENCES parts(model)

ON UPDATE CASCADE;

级联删除:删除主键时,外键也随之删除。

ALTER TABLE pc ADD CONSTRAINT fk_cpu_model

FOREIGN KEY (cpumodel)

REFERENCES parts(model)

ON DELETE CASCADE;

级联更新、删除:

 on update cascade on delete cascade

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
如何调整Win10文件夹字体大小?如何调整Win10文件夹字体大小?Jun 30, 2023 pm 08:02 PM

win10电脑文件夹字体大小怎么设置?win10文件夹字体大小设置方法是首先点击左下角开始,然后选择打开设置。很多小伙伴不知道怎操作,小编下面整理了文件夹字体大小设置方法步骤,如果你感兴趣的话,跟着小编一起往下看看吧!文件夹字体大小设置方法步骤1、首先点击左下角开始,然后选择打开设置。2、之后去点击“系统”。3、点击左侧的“屏幕”。4、在右边找到“更改文本、应用等项目的大小”。5、最后点击下拉,选择100%即可。以上就是【win10电脑文件夹字体大小怎么设置-文件夹字体大小设置方法步骤】全部内容

怎样设置win11电池充电上限怎样设置win11电池充电上限Jul 01, 2023 pm 10:41 PM

怎样设置win11电池充电上限?用户想知道win11电脑中要怎么去设置电池充电上限呢,如果使用的是win11联想电脑,就打开电脑上的电脑管家,然后点击电池充电图标,点击更改电池阈值即可设置啦,若是华为win11电脑,就打开myasus软件,点击电池健康充电选项,选择保养模式即可开始设置电源充电上限啦,不会的话,小编下面整理了win11设置电池充电上限教程,一起往下看看吧!win11设置电池充电上限教程1、联想电脑需要先下载安装联想电脑管家2、打开它,点击底部的电池充电图标,点击上方的更改电池阈值

如何为所有文件夹在Windows 11中设置相同的文件夹视图?如何为所有文件夹在Windows 11中设置相同的文件夹视图?Apr 26, 2023 pm 10:31 PM

在Windows中,我们可以在文件资源管理器中查看文件夹、文件和其他文档。您可能已经观察到,很少有文件和文件夹具有较小的图标,而很少有较大的图标。因此可以理解,有一个定制选项可用。根据文件的性质,默认设置了不同的文件夹模板。例如,在包含照片的名为Picture的文件夹中,图像具有不同的视图。包含音乐文件的音乐文件夹将具有不同的模板。同样,对于文档、视频等文件夹,每个文件夹根据其类别包含不同的模板。您还可以选择文件夹的模板并将其设置为所有其他相同类型的文件夹。在本文中,我们将学习如何将文件夹视图应

Win10分屏指南:如何设置分屏显示Win10分屏指南:如何设置分屏显示Jun 29, 2023 pm 10:37 PM

win10如何分屏操作?Win10系统中内置一个多窗口分屏功能,而这个功能很实用,不过有很多用户其实不知道要如何去为电脑进行分屏,其实实际操作起来还是非常简单的,下面就跟着小编一起来看看Win10设置分屏显示的方法,有需要的用户可不要错过。Win10设置分屏显示的指南第1步:同时单击(Windows键+I)打开Windows设置,或者您也可以单击Windows开始按钮,然后单击设置。第2步:单击系统并在左侧窗格中向下滚动,直到看到多任务处理选项。单击多任务处理。第3步:在右侧窗格中,通过单击切换

如何在 iPhone 上使用多计时器与 iOS 17如何在 iPhone 上使用多计时器与 iOS 17Jun 21, 2023 am 08:18 AM

什么是iOS17上的多计时器?在iOS17中,Apple现在为用户提供了在iPhone上一次设置多个计时器的能力。这是一个可喜的变化,许多人多年来一直期待的变化。时钟应用程序在iOS16之前只允许用户一次设置一个计时器,现在可用于激活任意数量的计时器,使其成为您一次完成多个任务的理想选择。您可以在计时器屏幕中设置任意数量的计时器。启动计时器后,所有活动计时器都将在锁屏界面和通知中心显示为“实时活动”通知。从这里,您可以查看计时器关闭、暂停或停止计时器的剩余时间,而无需打开时钟应用程序。当您在时钟

如何为您的 Windows lComputer 设置首选频段 [2023]如何为您的 Windows lComputer 设置首选频段 [2023]Jun 26, 2023 am 08:26 AM

几乎所有最新品牌的笔记本电脑都配备了双品牌WiFi。您可以将WiFi设置为5GHz或2.4GHz带宽。但是,事情并没有那么简单。笔记本电脑上的此功能很好地隐藏在设备管理器中,您无法从“设置”页面执行此操作。按照我们的指南为您的笔记本电脑、PC设置首选频段。注意–要切换到5GHz带宽WiFi,您需要WiFi路由器和设备都支持双频WiFi。如果它们中的任何一个都没有支持,则无法更改WiFi带宽。如何在设备上设置首选的WiFi频段设置首选频段以充分利用您的WiFi非常容易。方式1–设置首选频段步骤1–

Win10专业版的鼠标dpi数值如何设置Win10专业版的鼠标dpi数值如何设置Jun 29, 2023 pm 02:08 PM

Win10专业版的鼠标dpi数值如何设置?鼠标是常用办公硬件之一,我们通常需要对鼠标的灵敏度进行调节,调整到合适我们使用的数值,不过很多用户对鼠标dpi比较陌生,不知鼠标dpi在哪里调,要怎么调,很多小伙伴不知道怎么详细操作,小编下面整理了Win10调鼠标dpi的技巧,如果你感兴趣的话,跟着小编一起往下看看吧!  Win10调鼠标dpi的技巧  1、进入Windows设置选择打开备  2、左侧的选项栏切换到鼠标,在右侧的相关设置下选择他鼠标选项  3、在鼠标属性口将上方选项卡切换到针选项在下方的

PHP入门指南:服务器安全设置PHP入门指南:服务器安全设置May 20, 2023 pm 05:31 PM

PHP是一种广泛应用于Web开发的编程语言,它的应用范围很广,从简单的表单到复杂的电子商务网站都可以使用PHP来实现。然而,与任何其他Web应用程序一样,PHP应用程序也需要保证安全性。本文将介绍PHP入门指南:服务器安全设置。保持服务器程序更新第一步是确保服务器上所有相关程序都是最新版本。这包括操作系统、Web服务器、数据库服务器和PHP本身。经常升级服务

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Hot Tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)