代码之家  ›  专栏  ›  技术社区  ›  zildjohn01

检索MySQL表注释最优雅的方法是什么?

  •  5
  • zildjohn01  · 技术社区  · 14 年前

    $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];
    

    有没有一个好的,简单的方法来获取代码中的表注释?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Bill Karwin    14 年前

    信息模式并不是一个你不属于的内部结构。它是ansisql标准的一部分,其目的是为您提供查询元数据的合法方法。

    我会毫不犹豫地使用它。

    一个缺点是MySQL对信息模式的实现往往具有相当大的局限性 poor performance . 因此,在应该快速运行的例程中,对IS运行查询时要小心。