繁体   English   中英

MySQL:如何检查用户(自身)是否具有创建临时表的权限

[英]MySQL: How To Check If User (Self) Has Permission To Create Temporary Tables

我必须使用哪种查询来检查查询用户是否具有在数据库中创建临时表的权限?

我不知道是否有一种优雅的查询方法,但是使用“ hackish”类型的方法是使用mysql_query()并查看是否得到该表的结果或错误。

function checkCreateTempPermission($table) {
     $res = mysql_query("CREATE `$table` "); // modify this to be your temporary table code.
     if ($res === false) {
         if (strstr(mysql_error(), "command denied to user")) {
              return false;
         }else {
              // some other error happened not sure how you want to handle it so left blank.
         }
     }else {
         return true;
     }
}

我根本没有测试过它,或多或少没有关于如何完成它的理论 或者,您可以编写运行此SQL的脚本:

Show grants for myuser;

然后,如果他们有权访问该表,则循环进行该测试。 这将需要更多的工作,但至少不会出错。 希望能帮助您入门。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM