已解决:mysql ERROR 1265 (01000): Data truncated for column ‘xxx’

 

导致这个问题的原因是该列存在NULL值,而你要修改为NOT NULL DEFAULT ‘xxx’
解决办法就是:

将该列为空的赋值一个默认值,然后再进行 NOT NULL 修改操作。

情景再现:

原来的表字段为,已经有近百条测试数据:

xxx varchar(50)

现在要改为

xxx varchar(255) NOT NULL DEFAULT  ‘1’

 

出现报错:mysql ERROR 1265 (01000): Data truncated for column ‘xxx’

将该列赋值后再次修改问题解决:

mysql UPDATE test SET xxx=’1′ where xxx IS NULL;

 

Author: thinkwei

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注