簡體   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