解决办法:
1、在设计数据库表时,通过设置级联删除 *** 作来完成。
2、可以写触发器完成 *** 作。
3、先删除主表的数据行,然后根据关联的外键值来删除附表中的相应行数据即可。
具体方法:
作为外键暂且叫它主表,Delete from Main Where id=@id
则要先删除子表当中 Delete from Detail where MainId = @id
为了保证数据完整性,最好将上面的 *** 作包含在一个事务中,如果两个语句影响的行数都大于零,则提交,否则回滚。
有两种办法可以删除表中的所有数据:
1、TRUNCATE TABLE 删除表中的所有行,而不记录单个行删除 *** 作。
语法 TRUNCATE TABLE name
参数 name 是要截断的表的名称或要删除其全部行的表的名称。
2、Delete from tablename where 1=1
如果是单方向的外键关联的时候:先删子表,然后删父表就可实现了。命令为:drop table tablename; 如果两张表相互有主外键约束命令为”drop table tablename cascade constraints“。只删除其中的一个即可完成两张表的同时删除。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)