MySQL Replace()无法替换EXACT MATCH

时间:2013-05-26 01:10:12

标签: mysql replace exact-match

这是问题所在。我的问题:

UPDATE `table` SET `column` = replace(`column`,'123','456');

不会起作用。原因如下:

数字字符串'4123'现在变为'4456'。

我想要的是仅替换EXACT匹配(列值等于'123')。这是不可能使用简单的UPDATE SET = REPLACE()查询??

2 个答案:

答案 0 :(得分:7)

您似乎不需要REPLACE来执行此操作:

UPDATE yourTable SET yourColumn = '456' WHERE yourColumn = '123';

答案 1 :(得分:4)

正如Paul所说,你不应该进行REPLACE()调用,只需添加一个合适的WHERE条款。

也就是说,如果这是更新其他列的更大查询的一部分,请尝试:
SET `column`=IF(`column`=123, 456, `column`)

如果满足条件,这只会给该列一个新值。