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 '%áñ%'
我想从字段中删除特殊字符,因此我尝试使用以下方法更新 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 '%áñ%'