MySQL で ERROR 1265 (01000): Data truncated for column ‘xxxxx’ at row 1 みたいなエラーが出たとき

ぼくは UPDATE 文を実行しようとしただけなんだ。

> update xxxxx set yyyyy = "aaaaa";
ERROR 1265 (01000): Data truncated for column 'yyyyy' at row 1

enum 型のカラムに列挙されてない値を入れようとしたら出たものです。

 

というわけで ALTER して取りうる値の種類を増やすと、クエリが通りました。

ALTER TABLE テーブル名 MODIFY COLUMN カラム名 ENUM(取りうる値);

CHANGE COLUMN でもいいですが、書き方が微妙に違います。
古いカラム名、新しいカラム名、という書き方になります。

MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.1.7 ALTER TABLE 構文

 

ちなみにこのエラー、他にもカラムの幅が足りないとこに入れようとしても出るようです。

mysql - Data truncated for column? - Stack Overflow

前後の記事

Next:
Prev: