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']
你可以申請一個ORDER BY
條款第一種類型的聲明,因爲它是一個正常的SELECT
命令。
因此,在地方你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 2012-04-26 23:12:05
感謝您的建議@craniumonempty ...但我很好奇:雖然文檔顯示'COLUMNS'模式表具有兩個字段,他們不指定區別是什麼? ** **編輯**:與你的sqlfiddle一起玩,我可以看到'DATA_TYPE'不包括列寬,而'COLUMN_TYPE'。更新了我的答案 - 謝謝。 – eggyal 2012-04-26 23:14:09