MySQL mehrere post bearbeiten

  • hallo, ich habe ein problem. ich muss 10000 posts bearbeiten. und zwar habe ich am anfang ein paar bilder und dann text. nun möchte ich die Bilder im post lassen und den text rauslöschen.
    wie kann ich dass in mysql mach? am besten so dass er immer nur 10 auf einmal macht damit mein Server nicht überfordert ist?

    <p>[gallery]</p> muss drin bleiben da da die urls zu den Bildern sind ?
    meine post sehen so aus:

    <p>[gallery]</p>
    <div class="postie-attachments"><a href="http://www.internet.com/wp-content/uploads/2019/01/video.mp4">http://www.internet.com/wp-content/uploads/2019/01/video.mp4</a></div>
    <p>more of image <a title="http://www.internet.com/tag/bilder/" href="http://www.internet.com/tag/bilder/" target="_blank" rel="noopener">http://www.internet.com/tag/bilder/" href="http://www.internet.com/tag/bilder/</a>
    dann kommt ein sehr langer text der immer etwas anders ist aber zu gross für meine datenbank so dass ich ihn löschen möchte
    <p>mit html und so zeug bla bla bla bla<p>

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • UPDATE wp_posts SET post_content = '<p>[gallery]</p>' WHERE INSTR( post_content, '<p>[gallery]</p>') > 0;

    wp_ muss durch den tatsächlichen Prefix ersetzt werden. Keine Gewähr! Backup vorher erstellen und am Besten an einer Testdatenbank ausprobieren.

    Das Ausühren in Batches ist nicht notwendig. 10000 Posts mach MySQL mit dieser Abfrage in weniger als 60 Sekunden.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • danke für die schnelle antwort, aber die links löscht er mir dann raus oder ?

    <div class="postie-attachments"><a href="http://www.internet.com/wp-content/uploads/2019/01/video.mp4">http://www.internet.com/wp-content/uploads/2019/01/video.mp4</a></div>
    <p>more of image <a title="http://www.internet.com/tag/bilder/" href="http://www.internet.com/tag/bilder/" target="_blank" rel="noopener">http://www.internet.com/tag/bilder/" href="http://www.internet.com/tag/bilder/</a>

  • Ja klar. Deine Aussage war "<p>[gallery]</p> muss drin bleiben"

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • ok, und wie kann ich die <div class="postie-attachments"> auch drin lassen ?

    wie kann ich angeben dass er post 1 bis 100 macht dann 100 bis 200 und so ?

  • Mit MySQL wird das kompliziert. Ich würde mir ein PHP Script schreiben, dass das erledigt.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • ok, aber dass ist einfach ?
    und wie kann ich den befehl denn du geschrieben hast auf post 1 bis 100 anwenden ?
    UPDATE wp_posts SET post_content = '<p>[gallery]</p>' WHERE INSTR( post_content, '<p>[gallery]</p>') > 0;

  • wenn ich den befehl wie du geschrieben hast eingebe bekomme ich nach 4 minuten server timeout error. hab nur einen sharehoster.
    wie kann ich das machen das er 1 bis 100, 100 bis 200 ? müsste doch einfach gehen da jeder post ne id nummer hat? finde da nix bei google

  • Gib mal SQL LIMIT in eine Suchmaschine ein.

    Das hat mit WordPress selbst aber kaum mehr zu tun, ausser evtl. der Frage, inwiefern ein paar Textteile "zu gross" für die Datenbank sein sollten, wie lang sind diese Textteile denn? 100 MB pro Eintrag?

    Zitat

    ..dann kommt ein sehr langer text der immer etwas anders ist aber zu gross für meine datenbank so dass ich ihn löschen möchte..

  • wie schon gesagt mein server schafft dass nicht auf einmal. wie kann ich das auf die post 1-100 anwenden ? und ich möchte das erst mal auf die ersten posts testen bevor ich alle mache.
    backup habe ich selbstverständlich schon gemacht
    danke

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!