如何在mysql中添加删除级联选项?
我创建了两个表students和orders,并向order表添加了一个外键约束,但我忘了向该表添加一个delete cascade选项 表学生:如何在mysql中添加删除级联选项?,mysql,Mysql,我创建了两个表students和orders,并向order表添加了一个外键约束,但我忘了向该表添加一个delete cascade选项 表学生: CREATE TABLE STUDENTS ( ID varchar(50) NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25), PRIMARY KEY (ID) ) 表顺序 CREATE TABLE Orders (O
CREATE TABLE STUDENTS (
ID varchar(50) NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
PRIMARY KEY (ID)
)
表顺序
CREATE TABLE Orders
(O_Id int NOT NULL PRIMAY KEY,
Order_No int NOT NULL,ID varchar(50))
将外键添加到“订单”:
我尝试过这样的尝试:
ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY(ID)
REFERENCES STUDENTS (ID) ON DELETE CASCADE
谢谢。您的订单中有一个打字错误。您有
PRIMARY
它应该在PRIMARY
的位置
更正此问题后,我尝试创建表,所有语句都运行良好,包括最后一个语句。当您从
订单
表中删除引用学生
中的行时,会发生什么情况?我不尝试,但我想如果我删除学生表中的行,订单表中将删除具有相同ID的行是,这就是删除级联上的的要点。但是在询问之前,如果您还没有尝试过,请尝试删除学生中的父行,看看会发生什么(它会删除任何引用行)。我没有向这两个表添加记录,我的问题是如何将delete CASCADE选项添加到Orders表中。我不明白,您是否尝试过发出最后一条语句(使用删除级联上的选项)但失败?
ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY(ID)
REFERENCES STUDENTS (ID) ON DELETE CASCADE