Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So kopieren Sie eine Tabelle von einer Tabelle auf einem Remote-Server in eine Tabelle auf einer anderen Remote-Datenbank mysql5.6 mit PDO

Sie können zwei Verbindungen öffnen. Verwenden Sie eine zum Lesen vom Quellserver, die anderen beiden fügen Sie in den Zielserver ein. Verwenden Sie den ON DUPLICATE KEY IGNORE Option, um Fehler zu vermeiden, wenn Sie versuchen, vorhandene Zeilen zu überschreiben, sodass nur die fehlenden Zeilen eingefügt werden.

$pdo1 = new PDO('mysql:host=server1;dbname=xxx', $username1, $password1);
$pdo2 = new PDO('mysql:host=servrer2; dbname=xxx', $username2, $password2);

$insert_stmt = $pdo2->prepare("INSERT INTO yourTable (col1, col2, col3, ...) VALUES (:col1, :col2, :col3, ...) ON DUPLICATE KEY IGNORE");
$select_results = $pdo1->query("SELECT * FROM yourTable");
while ($row = $select_results->fetch(PDO::FETCH_ASSOC)) {
    $insert_stmt->execute($row);
}