mysql エラー「Error Code: 1074. Column length too big for column」が発生した場合の対処法

  • 作成日 2021.12.27
  • 更新日 2022.10.19
  • mysql
mysql エラー「Error Code: 1074. Column length too big for column」が発生した場合の対処法

MySQLで、エラー「Error Code: 1074. Column length too big for column」が発生した場合の対処法を記述してます。

環境

  • OS ubuntu21.10
  • MySQL Ver 8.0.27-0ubuntu0.21.10.1 for Linux on x86_64 (Ubuntu)

エラー全文

テーブル作成時に発生。

CREATE TABLE huga( c1 varChar(16384) );

エラー全文

CREATE TABLE huga( c1 varChar(16384) )	Error Code: 1074. Column length too big for column 'c1' (max = 16383); 
use BLOB or TEXT instead	0.016 sec

原因

文字コードが「utf8md4」に指定されているため、「VARCHAR」の最大長である「65,535バイト」を超えているため。
「65535 ÷ 4 = 16383.75」

対処法

範囲内を指定する

CREATE TABLE huga( c1 varChar(16383) );