MySQL tauscht eine Tabelle gegen eine andere aus?

Ich habe also eine Situation mit dieser WordPress Seite, wo ich die Positionen meiner vorgestellten Bilder vertauschen muss. Ich habe zwei pro Post dank der Multiple Post Thumbnails Plugin, aber jetzt, was auch immer das erste Bild ist, muss jetzt das zweite sein und was immer das zweite sein muss, muss das erste sein.

Es gibt also 300 Posts, also wird das manuelle Auslagern zeitaufwendig. Ich frage mich, ob es eine bessere Möglichkeit gibt, dies zu tun, indem ich irgendeine Art von Aussage in MySQL verwende, um diese beiden zu vertauschen. Wer kennt einen Weg, dies zu tun?

Solutions Collecting From Web of "MySQL tauscht eine Tabelle gegen eine andere aus?"

Erstellen Sie ein PHP-Skript ( fpw-swap-thumbnails.php ) mit dem folgenden Code und fpw-swap-thumbnails.php es in das Stammverzeichnis Ihrer Website ein:

 < ?php // load WordPress environment require( 'wp-load.php' ); $args = array( 'posts_per_page' => -1, 'post_type' => array( 'post', 'page' ), 'post_status' => 'publish' ); // get all published posts of type specified in $args $posts = get_posts( $args ); foreach ( $posts as $post ) { // get thumbnails ids $thmbsArray = array( get_post_meta( $post->ID, '_thumbnail_id', true ), get_post_meta( $post->ID, 'post_secondary-image_thumbnail_id', true ) ); // if both thumbnails exist then swap their values if ( ( '' != $thmbsArray[ 0 ] ) && ( '' != $thmbsArray[ 1 ] ) ) { update_post_meta( $post->ID, '_thumbnail_id', $thmbsArray[ 1 ] ); update_post_meta( $post->ID, 'post_secondary-image_thumbnail_id', $thmbsArray[ 0 ] ); } } ?> 

HINWEIS: post_secondary-image_thumbnail_id in post_secondary-image_thumbnail_id das secondary-image durch Ihre registrierte sekundäre Image-ID. post_type in $args zusätzliche Post-Typen in das post_type Array ein.

Erstellen Sie eine Sicherungskopie Ihrer database (nur um sicher zu gehen). Führe das Skript aus. Überprüfen Sie die Ergebnisse. Entfernen Sie das Skript.