知らなかったです。
tbl_user.user_nameがVARCHAR(500)とかで、
「田中太郎衛門」(VARCHAR(10)は越えてるデータ)
などというデータが既にテーブルに入っていた場合、
ALTER TABLE tbl_user MODIFY user_name VARCHAR(4);
などとして、
既にカラムに入っているサイズより小さくしようとしても、
エラー出るんですね!
SQLSTATE[01000]: Warning: 1265 Data truncated for column 'XXXXX' at row 1
「田中太郎衛門」(VARCHAR(10)) > VARCHAR(4)
なので。
ネット情報では、切り捨てられるとか書いてるページあったけど、
バージョンによってはエラーになるんですな。時間とられた。つかれた。
ただし、
カラムに入っているサイズより大きい場合、
たとえばVARCHAR(300)ぐらいに縮める場合
ALTER TABLE tbl_user MODIFY user_name VARCHAR(300);
はうまくいきます。
「田中太郎衛門」(VARCHAR(10)) < VARCHAR(300)
なので。