phpmyadmin 下划线赋予错误数据库特权

phpmyadmin underscore gives privileges to wrong database

你好,我是新来的,甚至不知道 Whosebug 是否适合这个问题,但我无法弄清楚我的问题..

我在 phpmyadmin 中有许多数据库和许多特定于数据库的用户,他们获得了自己数据库的所有权限并且可以读取其他一些。

现在我有一个用户 abc,有权访问以名称开头的所有数据库:

abc_%

喜欢abc_developmentabc_production...

但是如果我创建一个新的数据库 abc-def 例如,老用户就得到了它的所有权限并且 abc_abc-

之间没有区别

非常感谢,抱歉英语不好

sql中有两个通配符
“_”匹配单个字符。
"%" 匹配 0 个或多个字符。

您的查询应该说 'abc\_%' 以您期望的方式工作。

下划线(_)在SQL中有特定含义,类似于%....而%是匹配任意数量的通配符字符,_是匹配单个字符的通配符。

如果您需要在查询中使用文字下划线,则需要将其转义,就像您需要对文字进行转义一样 %

所以

abc\_%