INNODB_COLUMNS
表格提供關於 InnoDB
資料表欄位的元資料。
如需相關使用資訊和範例,請參閱第 17.15.3 節,〈InnoDB INFORMATION_SCHEMA 結構描述物件表格〉。
INNODB_COLUMNS
表格具有以下欄位
TABLE_ID
代表與欄位相關聯的資料表的識別碼;與
INNODB_TABLES.TABLE_ID
的值相同。NAME
欄位的名稱。這些名稱可以是根據
lower_case_table_names
設定的大小寫。欄位沒有特殊的系統保留名稱。POS
欄位在資料表中的序數位置,從 0 開始並依序遞增。當欄位被刪除時,剩餘的欄位會重新排序,使序列沒有間隙。虛擬產生欄位的
POS
值會編碼欄位的序列號碼和序數位置。如需更多資訊,請參閱第 28.4.29 節,〈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
欄位長度,例如
INT
為 4,BIGINT
為 8。對於多位元組字元集中的字元欄位,此長度值是以位元組為單位的最大長度,用於表示類似VARCHAR(
的定義;也就是說,它可能是N
)2*
、N
3*
等等,具體取決於字元編碼。N
HAS_DEFAULT
一個布林值,表示使用
ALTER TABLE ... ADD COLUMN
和ALGORITHM=INSTANT
立即新增的欄位是否有預設值。所有立即新增的欄位都有預設值,這使得此欄位成為欄位是否立即新增的指標。DEFAULT_VALUE
使用
ALTER TABLE ... ADD COLUMN
和ALGORITHM=INSTANT
立即新增的欄位的初始預設值。如果預設值為NULL
或未指定,此欄位會報告NULL
。明確指定的非NULL
預設值會以內部二進位格式顯示。後續修改欄位的預設值不會變更此欄位報告的值。
範例
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_COLUMNS where 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_SCHEMA
COLUMNS
表格或SHOW COLUMNS
陳述式,檢視關於此表格欄位的其他資訊,包括資料類型和預設值。