无法更新存储的函数/触发器中的表

时间:2016-06-09 19:27:36

标签: mysql phpmyadmin

如果玩家ID中不存在ownerid,我尝试运行此查询以删除公会中的行。

DELETE FROM guilds WHERE ownerid NOT IN (SELECT id FROM players);

但我收到此错误: 无法更新存储函数/触发器中的表'player',因为它已被调用此存储函数/触发器的语句使用。

我也尝试使用NOT EXISTSLEFT JOIN,但我的结果相同。

在这种情况下我该怎么办?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您的查询还会删除players表,实际上会删除所有内容。由于players表以某种方式受到保护,因此您会收到该错误,您无需触摸它,请尝试此操作;

DELETE FROM guilds WHERE ownerid != ALL(SELECT id FROM players);