Mysql 空字段上的数据截断错误

Mysql 空字段上的数据截断错误,mysql,sql,Mysql,Sql,我正在清除数据库中的过时值,我想将一列is_升级设置为null: update my_table set is_promotion = null where is_promotion = 0 我有这个错误 写入列0时发生数据截断错误。数据长度为0字节,传输了0字节 请注意,my_表具有此结构,因为my column is_升级,因此它应该可以为null: `is_promotion` varchar(10) DEFAULT NULL, 请注意,我看到了一些关于数据截断的帖子,

我正在清除数据库中的过时值,我想将一列is_升级设置为null:

update my_table 
set    is_promotion = null 
where  is_promotion = 0
我有这个错误

写入列0时发生数据截断错误。数据长度为0字节,传输了0字节

请注意,my_表具有此结构,因为my column is_升级,因此它应该可以为null:

  `is_promotion` varchar(10) DEFAULT NULL,

请注意,我看到了一些关于数据截断的帖子,但所有这些帖子都是因为列的格式不是为提供的值设置的,在我的例子中,我的列是可空的

问题是,
是升级
是一个
varchar
,因此您应该使用:

WHERE is_promotion = '0' 

问题是
是_promotion
varchar
,因此您应该使用:

WHERE is_promotion = '0' 

尝试使用
WHERE is\u promotion='0'
。我的意思是,你贴出这是个该死的坏蛋!见多识广。你能发布一个答案,我验证一下吗。Thankstry使用
哪里是推广='0'
。我的意思是,你贴出这是个该死的坏蛋!见多识广。你能发布一个答案,我验证一下吗。谢谢