1 .CASCADE:从父表删除或更新且自动删除或更新自表中匹配的行。
2. SET NULL:从父表删除或更新行,并设置字表中的外键为NULL。如果使用该选项,必须保证字表列没有指定NOT NULL。
3.RESTRICT:拒绝对父表的删除或更新操作。
4.NO ACTION:标注SQL的关键字,在MYSQL中 和 RESTRICT相同。
添加外间约束的参照操作
create table user1(
id smallint unsigned primary key auto_increment,
username varchar(10) not null,
pid smallint unsigned,
foregin key (pid) references provinces (id) on delete cascade
);
总结
(1)实际,才生产里,我们很少去物理的外界约束,而往往是使用逻辑的外界约束。
因为,物理的外界约束只有InnoDA这样的引擎支持,而MyISAM等不支持。
(2)实际,才生产里,在定义两张表的结构时,我们是按照两张表存在的某种结构的方式去定义,但是不去使用,foregin key关键字。