仅当Postgres中存在另一个具有调用用户的记录时,才删除记录

时间:2020-10-19 14:09:55

标签: postgresql

我有一个包含组主持人的表。

如果用户A要从某个组的主持人中删除用户B,我想确保用户A本人是同一组的主持人。

我尝试这样做:

DELETE FROM group_moderators m1
USING group_moderators m2
WHERE m1.group_id = m2.group_id
AND m1.group_id = 5
AND m2.user_id = 4 -- caller user
AND m1.user_id = 4 -- user to remove

它似乎正在工作,但是感觉有些不对劲。恐怕在某些情况下,这可能会误删除其他记录。

这是正确的方法,还是有一种更合适,更有效的方法来做到这一点?

0 个答案:

没有答案
相关问题