MySQL 5.7版本说明
的INNODB_SYS_COLUMNS
表提供关于InnoDB
表列,相当于从信息SYS_COLUMNS
表中InnoDB
数据字典。
有关相关用法信息和示例,请参见第14.16.3节,“InnoDB信息模式系统表”.
的INNODB_SYS_COLUMNS
表有这些列:
TABLE_ID
表示与列相关联的表的标识符;与
INNODB_SYS_TABLES。TABLE_ID
.的名字
列的名称。这些名称可以是大写或小写,取决于
lower_case_table_names
设置。列没有特殊的系统保留名称。POS
列在表中的顺序位置,从0开始,按顺序递增。当一个列被删除时,其余列将被重新排序,以使序列没有空白。的
POS
值编码列的列序列号和列的序数位置。有关更多信息,请参见POS
列描述第24.4.26节,INNODB_SYS_VIRTUAL表的信息模式.MTYPE
代表”主要类型”.列类型的数字标识符。1 =
VARCHAR
, 2 =字符
3 =FIXBINARY
4 =二进制
5 =团
6 =INT
7 =SYS_CHILD
8 =SYS
9 =浮动
10 =双
11 =小数
, 12 =VARMYSQL
13 =MYSQL
14 =几何
.PRTYPE
的
InnoDB
”精确的类型”,一个二进制值,它的位表示MySQL数据类型、字符集代码和可空性。LEN
列长度,例如4表示
INT
和8长整型数字
.对于多字节字符集中的字符列,此长度值是以字节为单位表示定义所需的最大长度VARCHAR (
;也就是说,可能是这样N
)2 *
,N
3 *
,等等,这取决于字符编码。N
例子
SELECT * FROM INFORMATION_SCHEMA。INNODB_SYS_COLUMNSwhere 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