作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的表:(我正在使用 Oracle SQL)
FILM (Catalog_Num, Format, Title, Year, Number_Discs, Rating, Timing, Genre)
INVENTORY (Film_ID, Rental_Price, New, Date_In, Catalog_Num@, Store_Num@)
现在我想删除电影年份超过 2015 的行,所以我写道:
delete from film
where catalog_num in(
select catalog_num
from film join inventory using (catalog_num)
where year >'2015';
但是,它显示了违反完整性约束的错误-找到子记录
我该如何解决这个问题?谢谢!
最佳答案
这取决于您要对 inventory
表中的记录做什么。
例如,您可以修改您的约束并添加删除级联
,这样该记录将与其他记录一起删除。
CONSTRAINT fk_column
FOREIGN KEY (column1, column2, ... column_n)
REFERENCES parent_table (column1, column2, ... column_n)
ON DELETE CASCADE
或者您设置on delete set null
这样 fk 将被设置为 null
CONSTRAINT fk_column
FOREIGN KEY (column1, column2, ... column_n)
REFERENCES parent_table (column1, column2, ... column_n)
ON DELETE SET NULL
关于sql - 其他表有外键时如何删除表内行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55494986/
我是一名优秀的程序员,十分优秀!