Какой самый элегантный способ получить комментарий к таблице MySQL? - PullRequest
5 голосов
/ 20 августа 2010

Я пытаюсь программно получить комментарий для таблицы MySQL.Первый метод, который мне предложили, был:

$shown = $db->query('show create table ' . TABLE_NAME)->fetch_row();
preg_match("/COMMENT='(.*)'/", $shown[0], $m);
$comment = $m[1];

Но такой обходной путь заставляет меня съеживаться.Я наткнулся на другой путь:

$result = $db->query("select table_comment from information_schema.tables where table_schema = '" .
    DATABASE_NAME . "' and table_name = '" TABLE_NAME '\'')->fetch_row();
$comment = $result[0];

Это немного лучше (без разбора строк), но это все еще заставляет меня чувствовать себя неловко, потому что я копаюсь во внутренних структурах, где я не чувствую, что принадлежу.1007 *

Есть ли хороший, простой способ получить комментарий к таблице в коде?

1 Ответ

3 голосов
/ 20 августа 2010

Информационная схема на самом деле не является внутренней структурой, к которой вы не принадлежите.Это часть стандарта ANSI SQL, и его цель - предоставить вам законный способ запрашивать метаданные.

Я бы не колебался использовать его.

Единственный недостаток - реализация MySQLинформационная схема имеет тенденцию иметь довольно низкую производительность .Поэтому будьте осторожны при выполнении запросов к IS в подпрограммах, которые должны быть быстрыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...