gpt4 book ai didi

mysql - 根据父表中的条件删除记录

转载 作者:行者123 更新时间:2023-11-29 10:50:53 25 4
gpt4 key购买 nike

我的数据库中定义了以下表格:

moderator (id, name)

parent_object (id, moderator_id, parent_name)

child_object (id, parent_id, child_name, quantity)

我想根据ID删除一个子对象。我目前有类似的东西可以工作:

delete from child_object where id = 3; 

但是,存在一个安全漏洞,因为这允许任何主持人更新他们不拥有的任何子对象。如果moderator_id为2,如何删除这条记录,以便只有当parent_object的moderator_id为2时才会删除它?

最佳答案

您可以使用INNER JOIN使用以下解决方案:

DELETE c.* FROM child_object c 
INNER JOIN parent_object p ON c.parent_id = p.id
WHERE c.id = 3 AND p.moderator_id = 2

demo: http://sqlfiddle.com/#!9/7290b5/1/0

关于mysql - 根据父表中的条件删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43747893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com