mysql限制删除

owfi6suc  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(355)

在目录表中有一个电影的多个示例,我试图从列表中删除一个具有给定标题的电影。这是我目前的查询,但它返回了一个错误:

DELETE FROM inventory
WHERE film_id IN (SELECT film_id
                  FROM film
                  WHERE title = "ACADEMY DINOSAUR")
AND store_id = 1
LIMIT 1

我得到这个错误:

Cannot delete or update a parent row: a foreign key constraint fails

胶片表值图像
库存表值图像
任何帮助都将不胜感激,谢谢

jtw3ybtb

jtw3ybtb1#

产生的错误与delete或limit无关,而是一个名为foreign\u key\u checks的系统变量。可以通过在语句前添加一行,在语句后添加另一行来更改它。根据您的使用情况,您可能希望查看禁用它的缺点,即添加与外键冲突的数据,但这将阻止该错误的发生:

SET foreign_key_checks = 0;
DELETE FROM inventory
WHERE film_id IN (SELECT film_id
                  FROM film
                  WHERE title = "ACADEMY DINOSAUR")
AND store_id = 1
LIMIT 1
SET foreign_key_checks = 1;

相关问题