MYSQL 使用 LIKE 更新字段

MYSQL UPDATE field with LIKE

我想从字段中删除特殊字符,因此我尝试使用以下方法更新 table 中的多条记录:

UPDATE tEmployees 
   SET last_name = REPLACE(last_name,"%áñ%","añ") 
 WHERE last_name LIKE '%áñ%'

但是,我收到消息说 0 行受到影响,所以它不起作用。

我试过了

SELECT * FROM tEmployees WHERE last_name LIKE '%áñ%'

并影响了行,所以我很困惑。有什么建议吗?

调用 REPLACE() 时不应使用通配符。它替换文字字符串,而不是 LIKE 模式。所以在REPLACE()参数中去掉%

UPDATE tEmployees 
   SET last_name = REPLACE(last_name,"áñ","añ") 
 WHERE last_name LIKE '%áñ%'

DEMO