Tach!
Ich bin jetzt aber doch noch über was gestolpert: laut MySQL-Doku wird bei einer Suche mit LIKE nach einem einzigen \ ein Ausdruck wie %\\% erwartet (also 4-fach), weil da doppelt drüber geparsed wird und dann genau einer übrig bleibt.
Die LIKE-Syntax ist quasi eine eigenständige. Und wenn man die in die restliche SQL-Syntax einbindet, kommt dieses doppelte Escapen zustande. Und das auch nur, wenn das Escape-Zeichen nicht geändert wurde. Bei LIKE '~~bla%' ESCAPE '~' braucht man nur eine Verdopplung, um nach einem ~ zu suchen.
Und nach so einigen Experimenten scheint bei REPLACE nur eine Verdoppelung nötig zu sein.
Weil da nur die SQL-Syntax allein auftritt und für diese ein einmaliges Escapen ausreicht. Notierst du aber zum Beispiel das SQL-Statement in PHP in einem String, dann braucht PHP ein Escapen und MySQL noch eins, also auch dann wieder 4 Backslashes.
dedlfix.