我想用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
但确实保持不变。
为什么不改变?
答案 0 :(得分:1)
看起来像" a"似乎不仅仅是'a'
。这可能有多种原因。从:
select length(ptl.version), ptl.version
from ptl
where version like '%a%'
order by length(ptl.version);
您可以看到要返回的版本的长度。
您可能在值中包含其他字符,例如空格。或者,你可能有一个看起来像小写a的utf字符。在后一种情况下,上述情况可能不会返回任何内容。