今天发现mysql外键有一个很好的优点。级联删除与更新。
例子
CREATE TABLE ci
(
CustomerID INT NOT NULL ,
PRIMARY KEY ( CustomerID )
)type=innoDB
CREATE TABLE sf
(
SalesID INT NOT NULL,
CustomerID INT NOT NULL,
PRIMARY KEY(CustomerID, SalesID),
FOREIGN KEY (CustomerID) REFERENCES ci
(CustomerID) ON DELETE CASCADE
)type=innoDB
请注意红色部分 CustomerID 是外键关联表ci 后面on deletecascade 有什么作用呢?
也就是,当表ci里面每行数据删除时,表sf与之外键关联的所有数据都会删除。
记住type=innDB一定不能忘,这个是设置外键必须的