MySQL——多表操作(一)外键(3)添加外键约束的参数说明

news/2024/10/18 1:32:09/

        我们知道建立外键是为了保证数据的完整和统一性,但如果主表中的数据被删除或修改,从表中对应的数据该怎么办?很明显,从表中对应的数据也应该被删除,否则数据库中会存在很多无意义的垃圾数据。MySQL 可以在建立外键时添加 ON DELETE 或 ON UPDATE子句来告诉数据库,怎样避免垃圾数据的产生。具体语法格式如下:

alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 主表表名(主键宇段名);
[ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT}]
[ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT}]

        语句中各参数的具体说明如下表所示:

参数名称功能描述
CASCADE删除包含与已删除键值有参照关系的所有记录
SET NULL修改包含与已删除键值有参照关系的所有记录,使用 NULL 值替换(不能用于已标记为 NOT NULL 的字段)
NO ACTION不进行任何操作
RESTRICT拒绝主表删除或修改外键关联列。(在不定义 ON DELETE 和 ON UPDATE 子句时,这是默认设置,也是最安全的设置)


http://www.ppmy.cn/news/1514823.html

相关文章

海莲花活跃木马KSRAT加密通信分析

1.概述 自2023年8月至今,海莲花组织多次利用KSRAT远控木马对我国发起攻击。KSRAT通过HTTP协议与C&C服务器进行通信,每个样本都使用了不同的URL。其心跳包采用XOR算法进行加密,而控制指令包和数据回传包则使用了XOR以及“XORAES-128-CBC”…

Hooks 「 useImperativeHandle 」子组件向父组件暴露方法

封装公共的组件提供操作方法。 子组件 import React, { useEffect, useRef, useState, useImperativeHandle } from reactconst PublicOffice ({ PublicOfficeRef }) > {const pathList useRef([{ file: , name: , year: 2022 }])// 向父组件暴露的方法useImperativeHan…

K8S故障排查可视化指南 —— 筑梦之路

在线查看 中文版:http://114.132.181.71:8080/book/71 英文版:http://114.132.181.71:8080/book/70 A visual guide on troubleshooting Kubernetes deployments

Oracle 同义词SYNONYM 的使用

Oracle同义词是数据库中的一种特性,它允许用户为数据库对象(如表、视图、序列、过程、函数等)创建一个别名。这个别名可以简化SQL语句的编写,提高数据库对象的可访问性,并且可以在多用户协同开发环境中隐藏对象名称及其…

鸿蒙Harmony编程开发:服务端证书锁定防范中间人攻击示例

1. TLS通讯中间人攻击及防范简介 TLS安全通讯的基础是基于对操作系统或者浏览器根证书的信任,如果CA证书签发机构被入侵,或者设备内置证书被篡改,都会导致TLS握手环节面临中间人攻击的风险。其实,这种风险被善意利用的情况还是很…

中心极限定理

中心极限定理(Central Limit Theorem, CLT)是统计学中的一个重要定理,它描述了在某些条件下,大量独立随机变量的平均值的分布特性。简单来说,中心极限定理告诉我们:无论原始数据的分布是什么样的&#xff0…

python绘制爱心代码

效果展示 完整代码 Python中绘制爱心的代码可以通过多种方式实现,高级的爱心代码通常指的是使用较复杂的算法或者图形库来生成更加精致的爱心图形。下面是一个使用Python的Turtle模块来绘制爱心的示例代码: import turtledef draw_love():turtle.speed…

漏洞挖掘 | 记一次src挖掘-小程序敏感信息泄露

闲言 就现在的一个web漏洞挖掘强度还是非常高的,所以我们不妨把我们的眼光投向一个之前可能未曾涉及到的区域———小程序 是的微信小程序,这玩意的防范能力和过滤能力其实对比web方向是要弱小很多的 进入正题 以下就是我的一个小程序漏洞挖掘的小实例…