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*N3*NHAS_DEFAULT一个布尔值,指示使用
ALTER TABLE ... ADD COLUMNwith 立即添加的列是否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_SCHEMACOLUMNS表或该SHOW COLUMNS语句参见有关该表的列的其他信息,包括数据类型和默认值。
