Detta borde faktiskt vara vad du vill ha i MySQL:
UPDATE wp_post
SET post_content = CONCAT(REPLACE(LEFT(post_content, INSTR(post_content, 'A')), 'A', 'B'), SUBSTRING(post_content, INSTR(post_content, 'A') + 1));
Det är lite mer komplicerat än mitt tidigare svar - du måste hitta den första instansen av "A" (med INSTR-funktionen), använd sedan VÄNSTER i kombination med REPLACE för att ersätta just den instansen, än använd SUBSTRING och INSTR för att hitta samma 'A' du ersätter och KONCATERA det med föregående sträng.
Se mitt test nedan:
SET @string = 'this is A string with A replace and An Answer';
SELECT @string as actual_string
, CONCAT(REPLACE(LEFT(@string, INSTR(@string, 'A')), 'A', 'B'), SUBSTRING(@string, INSTR(@string, 'A') + 1)) as new_string;
Producerar:
actual_string new_string
--------------------------------------------- ---------------------------------------------
this is A string with A replace and An Answer this is B string with A replace and An Answer