创建外键的sql语句中ON DELETE用法

   2024-10-08 4610
核心提示:在创建外键约束时,可以使用 ON DELETE 子句来指定当主键表中的记录被删除时外键表中的相应记录应该如何处理。ON DELETE 子句可

在创建外键约束时,可以使用 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);

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号