Das sollte eigentlich das sein, was Sie in MySQL wollen:
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));
Es ist etwas komplizierter als meine frühere Antwort - Sie müssen die erste Instanz des 'A' finden (mit der INSTR-Funktion) und dann LEFT in Kombination mit REPLACE verwenden, um nur diese Instanz zu ersetzen, als SUBSTRING und INSTR verwenden, um dasselbe zu finden 'A' ersetzen Sie und CONCAT es mit der vorherigen Zeichenfolge.
Siehe meinen Test unten:
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;
Erzeugt:
actual_string new_string
--------------------------------------------- ---------------------------------------------
this is A string with A replace and An Answer this is B string with A replace and An Answer