SQL-Query für Massenänderung von Quote-Links

  • Guten,


    vorab sorry falls ich hier falsch bin, aber ich wüsste nicht wo ich sonst fragen könnte und ich habe seit Tagen keine Lösung online gefunden.


    Es geht um dieses Problem, was zwar inszwischen behoben wurde, aber nicht nachträglich gefixed werden kann.

    Fehlerhafte Quote-Links nach Import - Erledigt - WoltLab®


    Kurz und knapp

    meine Quote-Links aus WBB3.1/4.0/4.1 erzeugen fehlerhafte Links im Format

    https://domain.tld/thread/id-keyword/index.php?page=Thread&postID=id#postid

    und somit auch reichlich 404er bei Google.

    Code
    1. <woltlab-quote data-author="SirGnn" data-link="index.php?page=Thread&amp;postID=38429#post38429">
    2. <p>Fensterheber, Keyless etc. funktioniert einwandfrei.</p>
    3. </woltlab-quote>


    Ich würde jetzt einfach mal via MySQL Befehl den Inhalt von data-link leeren.


    Mein Query

    select * from wbb1_post where message like '%data-link="index.php?page=%';

    gibt mir etwa 3.000 Datensätze zurück, möchte ich ungern händisch alles fixen.


    So nun zu den SQL-Profis, wie schaffe ich es in der message den einen Teiltext, in dem Fall den Quote-Link, zu ersetzen ?


    update wbb1_post set message =replace(message, 'data-link="index.php?page=usw"', 'data-link=""' where message like '%data-link="index.php?page=%';

    funktioniert leider nicht, da es für replace anscheinend keine Platzhalter gibt :(


    Hoffe dass jemand einen Tipp für mich hat.


    Gruß,

    Romeo

  • Das mit REGEXP_REPLACE habe ich auch schon gefunden bzw. ist bei MariaDB 10.2.x schon inkludiert, aber irgendwie haut es damit nicht hin bzw. das möchte nicht mit UPDATE zusammen arbeiten.


    NPP hätte ich da, ist nur wegen der Dateigröße etwas blöd zum laden. Kann ich auch einfach nur einen Dump der wbb1_post erzeugen und diese dann zurückspielen oder gibt es da Probleme ? ich würde natürlich den Webserver kurz offline nehmen damit keine neuen Datensätze geschrieben werden.


    Ich teste das mal eben auf meinem Raspi und wenn es hinhaut dann werde ich es Live machen, dass ich nicht auf NPP gekommen bin :D

  • Super, vielen Dank.


    Edit: hat wunderbar geklappt mit der NPP Methode

    mit der RegEx data-link=\\"index.*?\\"> habe ich die 2860 fehlerhaften Quote-Links durch data-link=\\"\\"> ersetzt. Das Zitat ist zwar nicht mehr anklickbar, der Link war aber davor auch schon unbrauchbar.

    2 Mal editiert, zuletzt von scy ()