sql >> データベース >  >> RDS >> Mysql

PDOを使用して、リモートサーバー上の1つのテーブルから別のリモートデータベースmysql5.6上のテーブルにテーブルをコピーする方法

    2つの接続を開くことができます。 1つを使用してソースサーバーから読み取り、他の2つを使用して宛先サーバーに挿入します。 ON DUPLICATE KEY IGNOREを使用します 既存の行を上書きしようとしたときにエラーが発生しないようにするオプション。これにより、欠落している行のみが挿入されます。

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


    1. なぜそのクエリが期待どおりに機能しないのですか?

    2. OracleデータベースをAWSEC2からAWSRDSに移行する方法

    3. SQLServerの「intをデータ型numericに変換する算術オーバーフローエラー」を修正しました

    4. JOOQを使用してテーブルから列挙型クラスを生成する