# Method Mysql.mysql()->list_fields()

Method list_fields

  ``array`(`int`|`mapping`(`string`:`mixed`)) list_fields(`string` `table`)`
  ``array`(`int`|`mapping`(`string`:`mixed`)) list_fields(`string` `table`, `string` `wild`)`

Description

  List all fields.

  Returns an array of mappings with information about the fields in the table named `table`. If the argument `wild` is given, only those fields matching it will be returned

  The mappings contain the following entries:

  ``"name"` : `string`` | The name of the field.
  ``"table"` : `string`` | The name of the table.
  ``"default"` : `string`` | The default value for the field.
  ``"type"` : `string`` | The SQL type of the field.
  ``"length"` : `int`` | The length of the longest possible value that can be stored in the field. Note that this measures the display length in string form.
  ``"flags"` : `multiset`(`string`)` | Some flags.
  ``decimals` : `int`` | The number of decimalplaces.

  The type of the field can be any of: `"decimal"`, `"char"`, `"short"`, `"long"`, `"float"`, `"double"`, `"null"`, `"time"`, `"longlong"`, `"int24"`, `"tiny blob"`, `"medium blob"`, `"long blob"`, `"var string"`, `"string"` or `"unknown"`.

  The flags multiset can contain any of:

  ``"primary_key"`` | This field is part of the primary key for this table.
  ``"unique"`` | This field is part of a unique key for this table.
  ``"multiple_key"`` | This field is part of a nonunique key for this table.
  ``"not_null"`` | This field cannot be NULL.
  ``"blob"`` | This field is a BLOB or TEXT.
  ``"auto_increment"`` | This field has the AUTO_INCREMENT attribute.
  ``"zerofill"`` | This Field has the ZEROFILL attribute.
  ``"binary"`` | This Field has the BINARY attribute.
  ``"enum"`` | This Field is an ENUM.
  ``"set"`` | This Field is a SET.
  ``"unsigned"`` | This Field has the UNSIGNED attribute.
  ``"numeric"`` | This Field is numeric.

Note

  Michael Widenius recomends use of the following query instead: `show fields in 'table' like "wild"`.

See also

  list_dbs(), list_tables(), list_processes(), Mysql.mysql_result.fetch_field()