MySQL TRIM问题

时间:2011-10-25 11:10:59

标签: mysql

这对我不起作用:

UPDATE emails SET address = TRIM(address);
  

0行受影响。 (查询花了0.2440秒)

为什么?

感谢。

2 个答案:

答案 0 :(得分:2)

也许他们实际上并不需要修剪。来自the docs

  

如果将列设置为当前值,则MySQL会注意到这一点并且不会更新它。

     

UPDATE返回实际更改的行数。

换句话说,他们没有前导或尾随空格。

如果你真的想测试一下,请使用:

SELECT COUNT(*) FROM emails;
UPDATE emails SET address = CONCAT(' ', address);
UPDATE emails SET address = TRIM(address);

(第一个是检查空表的可能性)。

答案 1 :(得分:1)

最简单的答案是MySQL报告正确的行数,即更新后总共有零行更改。如果出现这种情况:

  1. 表格是空的。
  2. 没有任何带有前导或尾随空格的行(如果没有列值更改,MySQL将不会更新行。)