数据库_级联更新/级联删除_ON UPDATE CASCADE/ON DELETE CASCADE

2024-05-03 07:18

本文主要是介绍数据库_级联更新/级联删除_ON UPDATE CASCADE/ON DELETE CASCADE,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ON UPDATE CASCADE / ON DELETE CASCADE

级联更新与级联删除需要设置在从表上,


on update cascade 级联更新
on delete cascade 级联删除
意思是 当你更新或删除主键表时,那么外键表也会跟随一起更新或删除
CREATE TABLE Countries(CountryId INT PRIMARY KEY) 
INSERT INTO Countries (CountryId) VALUES (1) 
INSERT INTO Countries (CountryId) VALUES (2) 
INSERT INTO Countries (CountryId) VALUES (3) 
GO 
CREATE TABLE Cities( CityId INT PRIMARY KEY  ,CountryId INT REFERENCES Countries ON DELETE CASCADE); 
INSERT INTO Cities VALUES(1,1) 
INSERT INTO Cities VALUES(2,1) 
INSERT INTO Cities VALUES(3,2) 
GO 
CREATE TABLE Buyers(CustomerId INT PRIMARY KEY ,CityId INT REFERENCES Cities ON DELETE CASCADE); 
INSERT INTO Buyers  VALUES(1,1), 
INSERT INTO Buyers  VALUES(2,1) 
INSERT INTO Buyers  VALUES(3,2) 
GO 

命令: 
DELETE FROM Countries WHERE CountryId = 1 
结果: 
Countries: 
CountryId 


Cities: 
CityId CountryId 
3 2 
Buyers: 
CustomerId CityId 

ON UPDATE CASCADE的用法和ON DELETE CASCADE差不多 

这篇关于数据库_级联更新/级联删除_ON UPDATE CASCADE/ON DELETE CASCADE的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/956141

相关文章

IDEA +maven git tomcat database数据库 调试 插件 log4j Spring junit

前言 idea优化配置、常规配置、配置maven、git、tomcat、database数据库、调试配置、插件配置、log4j配置、Spring配置等等,稍后一一更新! 优化配置(#item1 “item1”) 打开文件 :“idea – > bin – >idea64.exe.vmoptions” -Xms: 初始内存;-Xmx : 最大内存;-ReservedCodeCache

Linux删除大文件rm -rf的问题

请几天,我删除系统汇总的大文件,大约100G左右,当我使用rm -rf  xxxx.log删除后,使用df -h发现空间并未释放。 一开始以为是由于磁盘虚拟挂载,导致我删除的文件并不是当前目录的文件。但后来发现并不是。 我在网络上搜索发现都是  要: lsof | grep delete kill -9 xxx 但是我觉得这样不安全。 比如文件被进程锁定,或者有进程一直在向这个文件写数

Swift UIAlterViewController 2022年11月更新

import UIKitclass BusinessMainController: BaseTableViewController {override func viewDidLoad() {super.viewDidLoad()self.title = "业务类"//定义按钮,显示最简单的Alterlet button1 = UIButton(type: UIButton.ButtonType

Swift5 导航栏的使用 2022年11月更新

Swift 导航栏的使用 一、基本使用 1.1 创建导航栏 在AppDelegate 如下方法中添加创建导航栏的代码: func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> B

Swift 常用控件的创建 2022年11月更新

Swift 常用控件的创建 一、基础控件 1.1 UILabel let label:UILabel = UILabel.init(frame: CGRect(x: 100, y: 100, width: 100, height: 20))label.text = "测试字符串"label.textColor = UIColor.redlabel.font = UIFont.syste

Swift学习 字符串的操作 2022年11月更新

Swift 字符串的使用 Swift 字符串是一系列字符的集合。例如 “Hello, World!” 这样的有序的字符类型的值的集合,它的数据类型为 String 一、基本使用 1.1字符串的拼接 let str1 = "Hello"let str2 = "World"let str3 = str1 + str2print(str3); 1.2 字符串的插入 for index

Swift 字典数组元组的使用 - 2022年11月更新

Swift 字典数组元组的使用 一、字典 Swift 字典用来存储无序的相同类型数据的集合,Swift 字典会强制检测元素的类型,如果类型不同则会报错。Swift 字典的key没有类型限制可以是整型或字符串,但必须是唯一的。let 修饰的字典为不可变字典,var 修饰的字典为可变字典。 1.1 字典的创建和取值 let dict = ["name":"张三","age":"20","add

SpringBoot 学习六:数据库的增删改查

1、新建一个Girl类,添加如下代码: package controlle;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;@Entitypublic class Girl {@Id@GeneratedValueprivate Integer

SpringBoot 学习五:连接数据库

1、在pom.xml需要添加与数据库相关的两个依赖: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>my