INNODB_COLUMNS
テーブルは、InnoDB
テーブルのカラムに関するメタデータを提供します。
関連する使用法と使用例については、セクション15.15.3「InnoDB INFORMATION_SCHEMA スキーマオブジェクトテーブル」を参照してください。
INNODB_COLUMNS
テーブルには、次のカラムがあります:
-
TABLE_ID
カラムに関連付けられたテーブルを表す識別子で、
INNODB_TABLES.TABLE_ID
と同じ値です。 -
NAME
カラムの名前。 これらの名前の大文字/小文字は、
lower_case_table_names
設定に応じて異なります。 カラムの特別なシステム予約名はありません。 -
POS
0 から始まり連続的に増加する、テーブル内のカラムの順序位置。 あるカラムを削除すると、順序に欠落ができないように残りのカラムの順序が変更されます。 仮想生成カラムの
POS
値は、カラムの順序番号および順序位置をエンコードします。 詳細は、セクション26.51.30「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 データ型、文字セット、および NULL 可能性を表すビットを含むバイナリ値です。 -
LEN
カラム長。たとえば
INT
には 4、BIGINT
には 8 です。 マルチバイト文字セットの文字カラムの場合、この長さ値は、VARCHAR(
などの定義を表すために必要なバイト単位の最大長です。つまり、文字エンコーディングに応じて、N
)2*
、N
3*
などになります。N
-
HAS_DEFAULT
ALGORITHM=INSTANT
でALTER TABLE ... ADD COLUMN
を使用して即時に追加されたカラムにデフォルト値があるかどうかを示すブール値。 即時に追加されたすべてのカラムにはデフォルト値があり、このカラムが即時に追加されたかどうかを示すインジケータになります。 -
DEFAULT_VALUE
ALGORITHM=INSTANT
でALTER TABLE ... ADD COLUMN
を使用して即時に追加されたカラムの初期デフォルト値。 デフォルト値が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
ステートメントを使用して、データ型やデフォルト値など、このテーブルのカラムに関する追加情報を表示します。