1
docsは、ORDER BYを言及していないと、私はこのクエリをフレージング運を持っていない:SHOW FIELDSクエリでORDER BYを使用できますか?
SHOW FIELDS FROM `TB_Main` WHERE Type = 'mediumtext' OR Type = 'bit(1)' ORDER BY Field;
は、私は私のスクリプトで私の順序付けを行う必要がありますか?
docsは、ORDER BYを言及していないと、私はこのクエリをフレージング運を持っていない:SHOW FIELDSクエリでORDER BYを使用できますか?
SHOW FIELDS FROM `TB_Main` WHERE Type = 'mediumtext' OR Type = 'bit(1)' ORDER BY Field;
は、私は私のスクリプトで私の順序付けを行う必要がありますか?
代わりに情報スキーマテーブルを直接照会できます。 manual says通り:
次の文はほぼ同等です:
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_name' [AND table_schema = 'db_name'] [AND column_name LIKE 'wild'] SHOW COLUMNS FROM tbl_name [FROM db_name] [LIKE 'wild']
それは通常のSELECT
コマンドですので、あなたは、文の最初のタイプにORDER BY
句を適用することができます。
したがって、あなたのSHOW
コマンドの代わりに、あなたが行うことができます:
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'TB_Main'
AND COLUMN_TYPE IN ('mediumtext', 'bit(1)')
ORDER BY COLUMN_NAME;
ほとんど、私は 'あなたが必要だと思うとCOLUMN_TYPE IN( 'MEDIUMTEXT'、 'ビット(1)')'の代わりに 'DATA_TYPEの'http://sqlfiddle.com/#!2/86af6/12 – craniumonempty
提案してくれてありがとう@craniumonempty ...しかし、私は不思議です:ドキュメントは両方のフィールドを持つ' COLUMNS'スキーマテーブルを表示しますが、違いは何ですか? ** ** EDIT **:あなたのsqlfiddleで再生され、 'DATA_TYPE'に列幅が含まれていないことがわかりますが、' COLUMN_TYPE 'は列幅を含んでいます。私の答えを更新しました - ありがとう。 – eggyal