.
级联删除:删除包含主键值的行的操作,该值由其它表的现有行中的外键列引用。在级联删除中,还删除其外键值引用删除的主键值的所有行。
语法:
Foreign Key
(column[,...n])
references referenced_table_name[(ref_column[,...n])]
[on delete cascade]
[on update cascade]
注释:
column:列名
referenced_table_name:外键参考的主键表名称
ref_name:外键要参考的表的主键列
on delete:删除级联
on update:更新级联
SQL级联删除——删除主表同时删除从表——同时删除具有主外键关系的表
create table a
(
id varchar(20) primary key,
password varchar(20) not null
)
create table b
(
id int identity(1,1) primary key,
name varchar(50) not null,
userId varchar(20),
foreign key (userId) references a(id) on delete cascade
)
表B创建了外码userId 对应A的主码ID,声明了级联删除
测试数据:
insert a values ('11','aaa')
insert a values('23','aaa')
insert b values('da','11')
insert b values('das','11')
insert b values('ww','23')
删除A表内id为‘11’的数据,发现B表内userId 为“11”也被数据库自动删除了,这就是级联删除
delete a where id='11'
但是我在最开始设计表的时候忘记级联了,现在需要修改,不会重建数据库吧!当然不会,我发现navicat就可以直接修改设置
1.
2.
分享到:
相关推荐
2. **创建数据库**:连接成功后,在左侧的数据库列表中右击,选择“新建数据库”,输入数据库名称(例如 test)和其他设置后创建。 3. **创建数据表**:在数据库上右击,选择“新建表”,根据提示创建数据表。 - ...
这里需要注意的是,使用`INCLUDING CONTENTS AND DATAFILES`选项时,会同时删除表空间中的所有内容和数据文件,并且会级联删除依赖于这些表空间的对象。 通过以上步骤,我们不仅了解了如何在Oracle中创建临时表空间...
本系统实现了后台管理员登录、注销、信息维护、密码修改、用户列表、用户添加、用户信息维护、用户密码修改、删除(级联删除)等操作,其中用户信息维护包含文件上传和富文本框操作。系统控制器、业务层、数据层采用...
- `SC`表不仅拥有复合主键`Sno`和`Cno`,还设置了级联删除和更新的外键约束,确保数据的一致性。 通过本次实验,学生将全面了解MySQL数据库的创建、表结构的设计及基本SQL语句的应用,为进一步学习数据库管理与...
javaweb博客网站 1.用的struts2,数据库用的Oracle11g,DAO用的DBUtils,富文本用的百度的UEditor ...5.sql文件我用的Navicat导出的,导入好像有点问题,自己改一改吧,把注释和多于字符串什么的删除就行了
外键设置还包括级联操作(CASCADE)、限制操作(RESTRICT、NO ACTION)和设为NULL(SET NULL)。 10. **数据库语言深入**:理解SQL语句的优化策略,提高查询效率,如合理使用索引、避免全表扫描、减少子查询等。 ...
触发器常用于实施业务规则,如自动更新字段、记录审计日志、实现级联删除等。 47. MySQL 中如何进行内存优化?可以调整缓冲池大小(如 innodb_buffer_pool_size)、查询缓存大小(query_cache_size)以及其他内存...
3. **级联操作**:外键可以配置为支持级联操作,如`ON DELETE CASCADE`,当父表中的记录被删除时,所有关联的子表记录也会被自动删除。 4. **数据库设计范式**:外键关联是实现第三范式(3NF)和更高范式的关键,它...
11. **使用外键约束**:确保数据一致性,但要注意外键可能会导致级联删除或更新的性能问题。 12. **考虑扩展性**:设计时考虑未来可能的扩展需求,如垂直分割或水平分割。 13. **事务管理**:确保数据的一致性,...