的INNODB_COLUMNS
表提供关于的元数据InnoDB
表列。
相关用法和示例请参见第15.15.3节,“InnoDB INFORMATION_SCHEMA Schema对象表”.
的INNODB_COLUMNS
表有以下列:
TABLE_ID
一个标识符,表示与该列相关联的表;和
INNODB_TABLES。TABLE_ID
.的名字
列的名称。这些名称可以是大写或小写,具体取决于
lower_case_table_names
设置。列没有特殊的系统保留名称。POS
列在表中的序号位置,从0开始,按顺序递增。当删除一列时,将对其余列重新排序,以便序列没有空隙。的
POS
值对列的列序号和列的序号位置进行编码。有关更多信息,请参见POS
列描述第26.4.31节," inform_schema INNODB_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
HAS_DEFAULT
一个布尔值,指示是否立即使用添加的列
ALTER TABLE……添加一列
与算法=即时
有默认值。立即添加的所有列都有一个默认值,这使该列成为是否立即添加该列的指示器。DEFAULT_VALUE
立即使用添加的列的初始默认值
ALTER TABLE……添加一列
与算法=即时
.如果缺省值为零
或未指定,则此列将报告零
.一个显式指定的非零
默认值以内部二进制格式显示。列默认值的后续修改不会更改此列报告的值。
例子
mysql>从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