该INNODB_COLUMNS
表提供有关InnoDB
表列的元数据。
有关相关的使用信息和示例,请参阅 第 15.15.3 节,“InnoDB INFORMATION_SCHEMA 模式对象表”。
该INNODB_COLUMNS
表有以下列:
TABLE_ID
表示与列关联的表的标识符;与 相同的值
INNODB_TABLES.TABLE_ID
。NAME
列的名称。这些名称可以是大写或小写,具体取决于
lower_case_table_names
设置。列没有特殊的系统保留名称。POS
表中列的序号位置,从 0 开始依次递增。当删除一列时,剩余的列将重新排序,以便序列没有间隙。虚拟生成列的
POS
值对列的列序列号和序号位置进行编码。有关更多信息,请参阅第 26.4.29 节,“INFORMATION_SCHEMA INNODB_VIRTUAL 表”POS
中的列描述 。MTYPE
代表“主要类型”。列类型的数字标识符。1 =
VARCHAR
, 2 =CHAR
, 3 =FIXBINARY
, 4 =BINARY
, 5 =BLOB
, 6 =INT
, 7 =SYS_CHILD
, 8 =SYS
, 9 =FLOAT
, 10 =DOUBLE
, 11 =DECIMAL
, 12 =VARMYSQL
, 13 =MYSQL
, 14 =GEOMETRY
。PRTYPE
“精确类型
InnoDB
”,一个二进制值,带有表示 MySQL 数据类型、字符集代码和可空性的位 。LEN
列长度,例如 4
INT
和 8BIGINT
。对于多字节字符集中的字符列,此长度值是表示诸如 ;之类的定义所需的最大字节长度。也就是说,它可能是 、 等,具体取决于字符编码。VARCHAR(
N
)2*
N
3*
N
HAS_DEFAULT
ALTER TABLE ... ADD COLUMN
一个布尔值,指示使用with 立即添加的列是否ALGORITHM=INSTANT
具有默认值。所有立即添加的列都有一个默认值,这使该列成为该列是否立即添加的指示器。DEFAULT_VALUE
ALTER TABLE ... ADD COLUMN
使用with 立即添加的列的初始默认值ALGORITHM=INSTANT
。NULL
如果指定或未指定默认值,则 此列报告NULL
. 明确指定的非NULL
默认值以内部二进制格式显示。列默认值的后续修改不会更改此列报告的值。
例子
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
笔记
您必须具有
PROCESS
查询此表的权限。使用
INFORMATION_SCHEMA
COLUMNS
表或SHOW COLUMNS
语句查看有关此表的列的其他信息,包括数据类型和默认值。