Как вернуть тип поля из запроса MySQL?
Простой вопрос: Как я могу вернуть тип поля таблицы MySQL. Я знаю о describe
или show column
, но я просто хочу вернуть этот единственный параметр. например:
SELECT fieldtype(mycol) FROM mytable
# should return INT or integer for example
5 ответов:
Вы можете использовать
SHOW FIELDS FROM tableName where Field ='nameOfField'
Это вернет вам результат в формате
Field Type Null Key Default Extra
Вы можете получить это из базы данных information_schema:
select data_type from information_schema.columns where table_schema = 'myschema' and table_name = 'mytable' and column_name = 'mycol'
Я знаю, что немного опоздала на вечеринку. Вы можете использовать COLUMN_TYPE вместо DATA_TYPE. Это дает дополнительную информацию (например, точность) о типе.
SELECT COLUMN_TYPE FROM information_schema.COLUMNS WHERE TABLE_NAME = 'parts' AND COLUMN_NAME = 'price'
...доходность...
decimal(11,2)
Также работает следующий синтаксис, используя describe, введите columnName после tableName:
describe tbleName columnName;
ResultSet rs = Sstatement.executeQuery("SELECT * FROM Table Name"); ResultSetMetaData rsMetaData = rs.getMetaData(); int numberOfColumns = rsMetaData.getColumnCount(); System.out.println("resultSet MetaData column Count=" + numberOfColumns); for (int i = 1; i <= numberOfColumns; i++) { System.out.println("column number " + i); System.out.println(rsMetaData.getColumnTypeName(i)); }