Documentation Home
MySQL 8.0 参考手册  / 第 26 章 INFORMATION_SCHEMA 表  / 26.4 INFORMATION_SCHEMA InnoDB 表  /  24.4.17 INFORMATION_SCHEMA INNODB_SYS_COLUMNS 表

24.4.17 INFORMATION_SCHEMA INNODB_SYS_COLUMNS 表

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

    列长度​​,例如 4INT 和 8 BIGINT。对于多字节字符集中的字符列,此长度值是表示诸如 ;之类的定义所需的最大字节长度。也就是说,它可能是 、 等,具体取决于字符编码。 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_SCHEMA COLUMNS表或 SHOW COLUMNS语句查看有关此表的列的其他信息,包括数据类型和默认值。