Estoy tratando de recuperar programáticamente el comentario para una tabla MySQL. El primer método que me sugirieron fue:¿Cuál es la forma más elegante de recuperar un comentario de la tabla MySQL?
$shown = $db->query('show create table ' . TABLE_NAME)->fetch_row();
preg_match("/COMMENT='(.*)'/", $shown[0], $m);
$comment = $m[1];
Pero ese tipo de solución me hace temblar. Me topé con otra forma:
$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];
Es un poco mejor (sin análisis de cadenas), pero todavía me hace incómodo porque estoy cavando en las estructuras internas, donde no me siento que pertenezco.
¿Hay alguna manera agradable y sencilla de llegar al comentario de la tabla en el código?
Genial, no sabía que en realidad era parte de un estándar. Aún así, por lo general trato de mantenerme alejado de cosas que parecen demasiado "meta" si puedo evitarlo ... tienden a darme dolores de cabeza (como el problema de rendimiento que vinculó). – zildjohn01
Dado que ha escrito el código para ambas soluciones, lo aliento a que las comparta y vea cuál es la diferencia en el rendimiento, y si esa diferencia es tolerable para su aplicación. –