授予当前数据库MySQL的权限?

问题描述 投票:0回答:1

我可以在GRANT声明静态数据库名授予权限。

GRANT SELECT,INSERT ON database_name.table_name TO 'username'@'localhost';

有没有办法来动态设置数据库名在GRANT语句,以便资助是取其恰好是当前数据库?

USE database_name;
GRANT SELECT,INSERT ON <what goes here?>.table_name TO 'username'@'localhost';
mysql sql grant
1个回答
2
投票

你并不需要指定任何东西。如果没有指定的数据库,MySQL将承担default database,当你USE database_name被设置。从manual

该USE DB_NAME语句告诉MySQL使用db_name的数据库作为默认(当前)数据库后续语句。

并从GRANT部分:

如果指定了tbl_name,而不是的db_name.tbl_name,声明适用于默认的数据库为tbl_name。

所以,你可以只使用

GRANT SELECT,INSERT ON table_name TO 'username'@'localhost';
© www.soinside.com 2019 - 2024. All rights reserved.