更新varchar无效

时间:2016-11-06 13:31:37

标签: mysql sql

我想用update子句更新varchar列,如下所示:

UPDATE ptl SET version=NULL WHERE version = 'a';

和MySQL给了我这个答案:

Query OK, 0 rows affected

我有几个条目版本是' a'比如这个:

Title        version
Hiper        a

在我的更新声明之后,它应该变成以下内容:

Title        version
Hiper        NULL

但确实保持不变。

为什么不改变?

1 个答案:

答案 0 :(得分:1)

看起来像" a"似乎不仅仅是'a'。这可能有多种原因。从:

开始
select length(ptl.version), ptl.version 
from ptl
where version like '%a%'
order by length(ptl.version);

您可以看到要返回的版本的长度。

您可能在值中包含其他字符,例如空格。或者,你可能有一个看起来像小写a的utf字符。在后一种情况下,上述情况可能不会返回任何内容。