仅允许对特定列进行 SELECT

Alb*_*ang 8 mysql permissions

我有一个User3 列的表;name, email, password, 等等。

我想创建另一个用户只能SELECTname列。

SELECT name     FROM User;    -- Ok!
SELECT email    FROM User;    -- Not Ok!
Run Code Online (Sandbox Code Playgroud)

这可以在 MySQL 上完成吗?

Abd*_*naf 16

为此,您需要在表的特定列上向用户(MySQL 用户)授予选择权限。

GRANT SELECT (name) ON MyDb.User TO 'MySQLUser'@'MySQLHost';
Run Code Online (Sandbox Code Playgroud)

有关解释,请查看列权限上的MySQL 文档