どうすればjust mysqlテーブルからテーブルコメントを取得できますか?以下を試してみましたが、いろいろな理由でうまくいきませんでした。文字列「mycomment」だけを取得する方法を理解したい(理想的にはPerl =経由)
何か助けはありますか?
-- Abbreviated output for convenience.
SHOW TABLE STATUS WHERE Name="foo"
+------+--------+---------+------------+------+----------------+---------------+
| Name | Engine | Version | Row_format | Rows | Create_options | Comment |
+------+--------+---------+------------+------+----------------+---------------+
| foo | MyISAM | 10 | Fixed | 0 | | my comment |
+------+--------+---------+------------+------+----------------+---------------+
そして
SHOW CREATE TABLE foo;
+-------+------------------------------------------------------------------------------+
| Table | Create Table |
+-------+------------------------------------------------------------------------------+
| fooo | CREATE TABLE `fooo` (`id` int(11) NOT NULL PRIMARY KEY) COMMENT='my comment' |
+-------+------------------------------------------------------------------------------+
OMG Poniesの回答に基づいていますが、INFORMATION_SCHEMA.TABLES
の代わりにINFORMATION_SCHEMA.COLUMNS
を使用しています。 Webを見て回ったとき、私が見つけたのは列のコメントに関する情報だけでしたが、テーブルのコメントはありませんでした。これはテーブルのコメントを取得する方法です。
SELECT table_comment
FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema='my_cool_database'
AND table_name='user_skill';
+--------------------------+
| table_comment |
+--------------------------+
| my awesome comment |
+--------------------------+
クエリにデータベース名とテーブル名の両方を含めたくない場合は、次を使用できます。
SHOW TABLE STATUS WHERE Name='table_name';
次に、結果の「コメント」キーを取得します(phpのmysqli_fetch_assoc()などの連想コマンドを使用する必要があります)。