MySQL修剪问题

MySQL修剪问题,mysql,Mysql,这对我不起作用: UPDATE emails SET address = TRIM(address); 0行受影响。(查询耗时0.2440秒) 为什么? 谢谢。最简单的答案是MySQL报告的行数是正确的,即更新总共更改了零行。如果: 桌子是空的 没有任何行具有前导或尾随空格(如果没有列值更改,MySQL将不会更新行) 最简单的答案是MySQL报告了正确的行数,也就是说,更新总共改变了零行。如果: 桌子是空的 没有任何行具有前导或尾随空格(如果没有列值更改,MySQL将不会更新行) 也许他们实际

这对我不起作用:

UPDATE emails SET address = TRIM(address);
0行受影响。(查询耗时0.2440秒)

为什么?


谢谢。

最简单的答案是MySQL报告的行数是正确的,即更新总共更改了零行。如果:

  • 桌子是空的
  • 没有任何行具有前导或尾随空格(如果没有列值更改,MySQL将不会更新行)

  • 最简单的答案是MySQL报告了正确的行数,也就是说,更新总共改变了零行。如果:

  • 桌子是空的
  • 没有任何行具有前导或尾随空格(如果没有列值更改,MySQL将不会更新行)

  • 也许他们实际上不需要修剪。发件人:

    如果将列设置为当前的值,MySQL会注意到这一点,并且不会对其进行更新

    UPDATE返回实际更改的行数

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

    如果确实要测试此功能,请使用:

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

    (第一个是检查是否有空桌子)。

    也许他们实际上不需要修剪。发件人:

    如果将列设置为当前的值,MySQL会注意到这一点,并且不会对其进行更新

    UPDATE返回实际更改的行数

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

    如果确实要测试此功能,请使用:

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

    (第一个是检查是否有空表)。

    您确定表中有行吗?试着做一个SELECT以确保,或者将WHERE 1=1添加到update子句中(实际上不需要,但以防万一)你说的“不工作”是什么意思?你预计会发生什么?您的表中有哪些数据?您确定表中有行吗?试着做一个SELECT以确保,或者将WHERE 1=1添加到update子句中(实际上不需要,但以防万一)你说的“不工作”是什么意思?你预计会发生什么?您的表中有哪些数据?