mysql限制删除

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

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

  1. DELETE FROM inventory
  2. WHERE film_id IN (SELECT film_id
  3. FROM film
  4. WHERE title = "ACADEMY DINOSAUR")
  5. AND store_id = 1
  6. LIMIT 1

我得到这个错误:

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

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

jtw3ybtb

jtw3ybtb1#

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

  1. SET foreign_key_checks = 0;
  2. DELETE FROM inventory
  3. WHERE film_id IN (SELECT film_id
  4. FROM film
  5. WHERE title = "ACADEMY DINOSAUR")
  6. AND store_id = 1
  7. LIMIT 1
  8. SET foreign_key_checks = 1;

相关问题