MySQL REPLACE影响0行,但WHERE ... LIKE返回90

ric*_*uck 9 mysql sql phpmyadmin

出于某种原因,使用PhpMyAdmin运行时返回90行:

SELECT COUNT(*) 
FROM le_wp_posts 
WHERE post_content LIKE '%Â%'
Run Code Online (Sandbox Code Playgroud)

但以下仅更新3行:

UPDATE le_wp_posts 
SET post_content = REPLACE(post_content, 'Â', '') 
WHERE post_content LIKE '%Â%'
Run Code Online (Sandbox Code Playgroud)

我也尝试过省略声明中的WHERE条款UPDATE.是否有任何明显的原因我忽略了导致这个问题的原因?或者我可以采取哪些步骤来调查原因?我的SQL不是最好的.

Sus*_*ang 0

您可以尝试使用如下 JOIN 吗:

\n\n
UPDATE le_wp_posts l\nINNER JOIN (SELECT t.post_content  \n            FROM le_wp_posts t \n            WHERE t.post_content LIKE '%\xc3\x82%') t ON l.post_content = t.post_content\nSET l.post_content = REPLACE(l.post_content, '\xc3\x82', '')\n
Run Code Online (Sandbox Code Playgroud)\n