### 26.4.9 信息\_SCHEMA INNODB\_列表

[](<>)

这[`INNODB_COLUMNS`](information-schema-innodb-columns-table.html)表提供有关的元数据`InnoDB`表列。

有关相关使用信息和示例，请参阅[第 15.15.3 节，“InnoDB 信息\_SCHEMA 模式对象表”](innodb-information-schema-system-tables.html).

这[`INNODB_COLUMNS`](information-schema-innodb-columns-table.html)表有这些列：

-   `TABLE_ID`

    表示与列关联的表的标识符；相同的值`INNODB_TABLES.TABLE_ID`.

-   `姓名`

    列的名称。这些名称可以是大写或小写，具体取决于[`lower_case_table_names`](server-system-variables.html#sysvar_lower_case_table_names)环境。列没有特殊的系统保留名称。

-   `POS`

    表中列的序号位置，从 0 开始并按顺序递增。当删除一列时，其余列将重新排序，以使序列没有间隙。这`POS`虚拟生成列的值对列的序列号和列的顺序位置进行编码。有关详细信息，请参阅`POS`中的列描述[第 26.4.29 节，“信息\_SCHEMA INNODB\_虚拟表”](information-schema-innodb-virtual-table.html).

-   `类型`

    代表“主要类型”。列类型的数字标识符。1 =`VARCHAR`, 2 =`字符`, 3 =`固定二进制`, 4 =`二进制`, 5 =`斑点`, 6 =`INT`, 7 =`SYS_CHILD`, 8 =`系统`, 9 =`漂浮`, 10 =`双倍的`, 11 =`十进制`, 12 =`VARMYSQL`, 13 =`MYSQL`, 14 =`几何学`.

-   `PRTYPE`

    这`InnoDB`“精确类型”，一个二进制值，其位表示 MySQL 数据类型、字符集代码和可空性。

-   `伦`

    列长度​​，例如 4 表示`INT`和 8 为`大整数`.对于多字节字符集中的字符列，此长度值是表示定义所需的最大字节长度，例如`VARCHAR(*`ñ`*)`;也就是说，它可能是`2**`ñ`*`,`3**`ñ`*`，依此类推，具体取决于字符编码。

-   `HAS_DEFAULT`

    一个布尔值，指示是否使用立即添加的列[`更改表...添加列`](alter-table.html)和`算法=即时`有一个默认值。立即添加的所有列都有一个默认值，这使得该列成为该列是否被立即添加的指示器。

-   `默认值`

    使用立即添加的列的初始默认值[`更改表...添加列`](alter-table.html)和`算法=即时`.如果默认值为`空值`或未指定，此栏报告`空值`.明确指定的非`空值`默认值以内部二进制格式显示。列默认值的后续修改不会更改此列报告的值。

#### 例子

```
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_COLUMNS where TABLE_ID = 71\G
*************************** 1. row ***************************
     TABLE_ID: 71
         NAME: col1
          POS: 0
        MTYPE: 6
       PRTYPE: 1027
          LEN: 4
  HAS_DEFAULT: 0
DEFAULT_VALUE: NULL
*************************** 2. row ***************************
     TABLE_ID: 71
         NAME: col2
          POS: 1
        MTYPE: 2
       PRTYPE: 524542
          LEN: 10
  HAS_DEFAULT: 0
DEFAULT_VALUE: NULL
*************************** 3. row ***************************
     TABLE_ID: 71
         NAME: col3
          POS: 2
        MTYPE: 1
       PRTYPE: 524303
          LEN: 10
  HAS_DEFAULT: 0
DEFAULT_VALUE: NULL
```

#### 笔记

-   你必须拥有[`过程`](privileges-provided.html#priv_process)查询此表的权限。

-   使用`INFORMATION_SCHEMA` [`列`](information-schema-columns-table.html)表或[`显示列`](show-columns.html)语句以查看有关此表列的其他信息，包括数据类型和默认值。
