Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment copier une table d'une table sur un serveur distant vers une table sur une autre base de données distante mysql5.6 avec PDO

Vous pouvez ouvrir deux connexions. Utilisez-en un pour lire à partir du serveur source, les deux autres insèrent dans le serveur de destination. Utilisez le ON DUPLICATE KEY IGNORE option pour éviter les erreurs lorsque vous essayez d'écraser les lignes existantes, de sorte qu'il n'insère que les lignes manquantes.

$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);
}