Как изменить заголовок SHOW GRANTS в MySQL?

#mysql #sql

#mysql — сервер #sql

Вопрос:

У меня есть следующий запрос:

 MySQL [Database]> show grants for "user"@"%";
 ----------------------------------------------------------------- 
| Grants for user@%                                               |
 ----------------------------------------------------------------- 
| GRANT ALL PRIVILEGES ON *.* TO 'user'@'%'                       |
 ----------------------------------------------------------------- 
1 row in set (0.00 sec)
  

Теперь я пытаюсь изменить Grants for user@% заголовок, но следующие инструкции выдают ошибку:

 show grants for "user"@"%" AS TEST;
show grants AS TEST for "user"@"%";
select * from (show grants AS Test for "user"@"%") as SUB;
  

Я хочу каким-то образом получить следующий результат:

 MySQL [Database]> show grants for "user"@"%" AS TEST;
 ----------------------------------------------------------------- 
| TEST                                                            |
 ----------------------------------------------------------------- 
| GRANT ALL PRIVILEGES ON *.* TO 'user'@'%'                       |
 ----------------------------------------------------------------- 
1 row in set (0.00 sec)
  

Причина, по которой я хочу изменить заголовок, заключается в том, что PHP-фреймворк, который я использую, преобразует запрос базы данных в объект и Grants for user@% будет объектной переменной / полем, которое мне нужно вызвать, что очень неудобно.

Комментарии:

1. Вы не можете его изменить, вы просто имеете дело с тем, что он вам дает. Метка в значительной степени не имеет значения и может быть проигнорирована. Можете ли вы извлекать свои строки в виде простых массивов вместо ассоциативных?

Ответ №1:

Если вам не нравится заголовок результата ПОКАЗА ГРАНТОВ, вы можете собрать информацию из таблиц в INFORMATION_SCHEMA:

Я оставлю это в качестве упражнения для вас, чтобы написать SQL-запрос, чтобы сделать это.