MySQL 8.0 リファレンスマニュアル


9.2.1 識別子の長さ制限

次の表には、識別子のタイプごとの最大の長さが示されています。

識別子タイプ 最大の長さ (文字)
Database 64 (NDB Cluster 8.0.18 以降を含む)
Table 64 (NDB Cluster 8.0.18 以降を含む)
カラム 64
インデックス 64
制約 64
ストアドプログラム 64
ビュー 64
テーブルスペース 64
サーバー 64
ログファイルグループ 64
エイリアス 256 (表のあとの例外を参照してください)
複合ステートメントラベル 16
ユーザー定義変数 64
リソースグループ 64

CREATE VIEW ステートメント内のカラム名に対するエイリアスは、(256 文字の最大のエイリアス長ではなく) 64 文字の最大のカラム長に対してチェックされます。

制約名を含まない制約定義の場合、サーバーは関連付けられたテーブル名から導出された名前を内部的に生成します。 たとえば、内部的に生成された外部キーおよび CHECK 制約名は、テーブル名に_ibfk_または_chk_と数値を加えたもので構成されます。 テーブル名が制約名の長さ制限に近い場合、制約名に追加の文字が必要になると、その名前が制限を超える可能性があるため、エラーが発生します。

識別子は Unicode (UTF-8) を使用して格納されます。 これは、テーブル定義の識別子および mysql データベースの付与テーブルに格納されている識別子に適用されます。 付与テーブル内の識別子文字列カラムのサイズは文字数で測定されます。 マルチバイト文字は、これらのカラムに格納されている値に許可される文字数を減らすことなく使用できます。

NDB 8.0.18 より前では、NDB Cluster はデータベースおよびテーブルの名前に 63 文字の最大長を課していました。 NDB 8.0.18 の時点では、この制限は削除されています。 セクション23.1.7.11「前 NDB Cluster 8.0 で解決される NDB Cluster の問題」を参照してください。

MySQL アカウント名のユーザー名やホスト名などの値は、識別子ではなく文字列です。 付与テーブルに格納されるこのような値の最大長については、付与テーブルのスコープカラムのプロパティ を参照してください。


関連キーワード:  識別子, 制限, テーブル, リテラル, NDB, リファレンス, 文字, 最大, 制約, マニュアル