INNODB_COLUMNS表
该INNODB_COLUMNS
表提供有关InnoDB
表列的元数据。
有关相关用法信息和示例,请参见“ InnoDB INFORMATION_SCHEMA架构对象表”。
该INNODB_COLUMNS
表包含以下列:
TABLE_ID
代表与该列关联的表的标识符;与相同的值
INNODB_TABLES.TABLE_ID
。NAME
列的名称。根据
lower_case_table_names
设置,这些名称可以是大写或小写。列没有特殊的系统保留名称。POS
表格中列的顺序位置,从0开始,并依次递增。当删除一列时,其余的列将重新排序,以使序列没有间隙。
POS
虚拟生成的列的值编码该列的序列号和该列的顺序位置。有关更多信息,请参见“ 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
,8代表BIGINT
。对于多字节字符集中的字符列,此长度值是表示一个定义(如;)所需的最大长度(以字节为单位)。也就是说,它可能是,等等,具体取决于字符编码。VARCHAR(N)
2*N
3*N
HAS_DEFAULT
一个布尔值,指示使用
ALTER TABLE ... ADD COLUMN
with 立即添加的列是否ALGORITHM=INSTANT
具有默认值。立即添加的所有列均具有默认值,这使该列成为是否立即添加该列的指示器。DEFAULT_VALUE
使用
ALTER TABLE ... ADD COLUMN
和立即添加的列的初始默认值ALGORITHM=INSTANT
。如果默认值是NULL
或未指定,则此列报告NULL
。明确指定的非NULL
默认值以内部二进制格式显示。列默认值的后续修改不会更改此列报告的值。
例
mysql>SELECT *FROM INFORMATION_SCHEMA.INNODB_COLUMNSwhere 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
语句参见有关该表的列的其他信息,包括数据类型和默认值。