MySQL的权限问题用别名删除

时间:2016-12-15 13:53:47

标签: mysql alias privileges denied

我有一个MySQL的问题,看起来有点像this old question

在我们的示例中,删除命令会出现问题。用户具有从某个表中删除的权限(比如说test.data),并且可以从这个表中删除记录,如下所示:

DELETE FROM test.data WHERE id = 43

无论用户当前的架构如何,这都有效。但是,如果我将此声明重写为以下内容:

DELETE td FROM test.data td WHERE td.id = 43

它仅适用于测试架构。从任何其他模式我得到一个错误" DELETE命令被拒绝给用户..."。因此,当我尝试在delete语句中使用表别名时,特权系统看起来很混乱。

我需要表别名,因为实际的delete语句涉及多个具有连接条件的表。作为一个解决方法,我重写了使用子查询而不是连接的语句,但我真的想知道我是否遗漏了一些重要的东西,或者这更像是MySQL特权系统中的错误。 / p>

0 个答案:

没有答案