MySQL DB への ODBC 接続を備えたプログラムしか持っていない端末を介して、MySQL DB に接続しています。プログラムにクエリを入れることはできますが、MySQL に直接アクセスすることはできません。
DBにクエリを実行して、テーブル以外のフィールドのリストを取得する方法があります
select * from table
??
(理由はわかりませんが、選択するとエラーが返されます)
SELECT
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'MyTable'
AND TABLE_SCHEMA = 'SchemaName' /* added upon Bill Karwin's comment (thanks) */
INFORMATION_SCHEMA の詳細はdocs にあります。
これはほとんどのデータベースで機能します:
select * from table where 1=0
結果セットにデータは取得されませんが、列のメタデータは取得されます。
describe *tablename*
これ:
SHOW COLUMNS FROM Tablename
テーブル内のフィールドとそのプロパティ (データ型、null 値を許可するかどうか、フィールドが主キーかどうか、設定されている場合の既定値など) を一覧表示します。