1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

MySQL mehrere post bearbeiten

Dieses Thema im Forum "Allgemeines" wurde erstellt von jadmanx, 1. März 2019.

  1. jadmanx

    jadmanx Well-Known Member

    Registriert seit:
    5. Januar 2006
    Beiträge:
    155
    Zustimmungen:
    0
    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>
     
  2. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.811
    Zustimmungen:
    423
    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.
     
  3. jadmanx

    jadmanx Well-Known Member

    Registriert seit:
    5. Januar 2006
    Beiträge:
    155
    Zustimmungen:
    0
  4. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.811
    Zustimmungen:
    423
    Ja klar. Deine Aussage war "<p>[gallery]</p> muss drin bleiben"
     
  5. jadmanx

    jadmanx Well-Known Member

    Registriert seit:
    5. Januar 2006
    Beiträge:
    155
    Zustimmungen:
    0
    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 ?
     
  6. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.811
    Zustimmungen:
    423
    Mit MySQL wird das kompliziert. Ich würde mir ein PHP Script schreiben, dass das erledigt.
     
  7. jadmanx

    jadmanx Well-Known Member

    Registriert seit:
    5. Januar 2006
    Beiträge:
    155
    Zustimmungen:
    0
    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;
     
  8. jadmanx

    jadmanx Well-Known Member

    Registriert seit:
    5. Januar 2006
    Beiträge:
    155
    Zustimmungen:
    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
     
  9. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    9.150
    Zustimmungen:
    1.106
    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?
     
  10. jadmanx

    jadmanx Well-Known Member

    Registriert seit:
    5. Januar 2006
    Beiträge:
    155
    Zustimmungen:
    0
    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
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden