【问题标题】:phpmyadmin underscore gives privileges to wrong databasephpmyadmin 下划线赋予错误数据库权限
【发布时间】:2015-03-26 13:56:20
【问题描述】:

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

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

现在我有一个用户 abc 对所有以名称开头的数据库具有权限:

abc_%

喜欢abc_developmentabc_production...

但如果我创建一个新数据库abc-def,例如,旧用户拥有它的所有权限,abc_abc- 之间没有区别

非常感谢你的英语不好,对不起

【问题讨论】:

    标签: mysql database phpmyadmin


    【解决方案1】:

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

    如果您需要在查询中使用文字下划线,那么您需要转义它,就像您需要转义文字 %

    所以

    abc\_%
    

    【讨论】:

    • 谢谢我也不想更改旧用户,所以我唯一的可能是将我的新数据库重命名为 abc
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-19
      • 2014-08-16
      • 1970-01-01
      • 2013-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多