阅读量:3
在创建外键约束时,可以使用 ON DELETE 子句来指定当主键表中的记录被删除时外键表中的相应记录应该如何处理。ON DELETE 子句可以有以下几种选项:
- CASCADE: 当主键表中的记录被删除时,外键表中的相应记录也会被自动删除。
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerID INT,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID) ON DELETE CASCADE
);
- SET NULL: 当主键表中的记录被删除时,外键表中的相应记录的外键列会被设置为 NULL。
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerID INT,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID) ON DELETE SET NULL
);
- RESTRICT: 默认情况下,当主键表中的记录被删除时,如果在外键表中仍然存在与之关联的记录,则会阻止删除操作。
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerID INT,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID) ON DELETE RESTRICT
);
- NO ACTION: 与 RESTRICT 类似,当主键表中的记录被删除时,如果在外键表中仍然存在与之关联的记录,则会阻止删除操作。这是默认行为。
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerID INT,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID) ON DELETE NO ACTION
);
以上就是关于“创建外键的sql语句中ON DELETE用法”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm