INNODB_SYS_COLUMNS表提供表列的元数据
,InnoDB相当于数据字典
SYS_COLUMNS中表的信息。InnoDB
有关相关的使用信息和示例,请参阅 第 14.16.3 节,“InnoDB INFORMATION_SCHEMA 系统表”。
该INNODB_SYS_COLUMNS表有以下列:
TABLE_ID表示与列关联的表的标识符;与 相同的值
INNODB_SYS_TABLES.TABLE_ID。NAME列的名称。这些名称可以是大写或小写,具体取决于
lower_case_table_names设置。列没有特殊的系统保留名称。POS表中列的序号位置,从 0 开始依次递增。当删除一列时,剩余的列将重新排序,以便序列没有间隙。虚拟生成列的
POS值对列的列序列号和序号位置进行编码。有关更多信息,请参阅第 24.4.26 节,“INFORMATION_SCHEMA INNODB_SYS_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*N3*N
例子
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS where TABLE_ID = 71\G
*************************** 1. row ***************************
TABLE_ID: 71
NAME: col1
POS: 0
MTYPE: 6
PRTYPE: 1027
LEN: 4
*************************** 2. row ***************************
TABLE_ID: 71
NAME: col2
POS: 1
MTYPE: 2
PRTYPE: 524542
LEN: 10
*************************** 3. row ***************************
TABLE_ID: 71
NAME: col3
POS: 2
MTYPE: 1
PRTYPE: 524303
LEN: 10
笔记
您必须具有
PROCESS查询此表的权限。使用
INFORMATION_SCHEMACOLUMNS表或SHOW COLUMNS语句查看有关此表的列的其他信息,包括数据类型和默认值。