我遇到的问题相当简单,但我似乎找不到解决方案。我只想查询mysql.user
并过滤current_user()
上的结果。但是,当我使用以下查询时:
SELECT *
FROM mysql.user
WHERE user = current_user();
我得到了一个Empty set (0.00sec)
,但我100%确定用户存在。
在这个例子中,我用用户'root'@'localhost'
连接到mysql,这个用户肯定存在于mysql.user
中。
我假设我使用这个错误,但我已经看过了几个帖子和各种不同的MySQL,但无法找到这个特定问题的答案。
感谢CURRENT_USER()
返回user@host
形式的字符串,而mysql.user.User
似乎只是user
部分,mysql.user.Host
是host
部分。也许你的意思是:
SELECT
*
FROM
mysql.user
WHERE CONCAT
(
mysql.user.User,
'@',
mysql.user.Host
) = CURRENT_USER()