sql >> Base de Datos >  >> RDS >> Mysql

Cómo copiar una tabla de una tabla en un servidor remoto a una tabla en una base de datos remota diferente mysql5.6 con PDO

Puede abrir dos conexiones. Use uno para leer desde el servidor de origen, los otros dos se insertan en el servidor de destino. Use el ON DUPLICATE KEY IGNORE opción para evitar errores cuando intenta sobrescribir filas existentes, por lo que solo inserta las filas que faltan.

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