Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara menyinkronkan dua tabel database MySQL yang berbeda pada mesin yang sama?

Untuk tujuan ini, Anda dapat menggunakan transaksi.

$mysql_host                 = DB_HOST;
$mysql_username             = DB_USER;
$mysql_password             = DB_PASSWORD;
$mysql_database1            = DATABASE1;
$mysql_database2            = DATABASE2;

$mysqli = new mysqli($mysql_host, $mysql_username, $mysql_password) or die( mysql_error());

/*  Begin Transaction   */
$mysqli->autocommit(FALSE); 


/*  Insert data from db1 to db2 */
$query  =  "    INSERT INTO $mysql_database1.table1";

$a  =   $mysqli->query($query); 

$query  =  "    INSERT INTO $mysql_database1.table2
            SELECT 
                *
            FROM $mysql_database2.table2
            WHERE NOT EXISTS(SELECT * from $mysql_database1.table2)     
";
$d  =   $mysqli->query($query); 


if ($a and $b) 
{
    $mysqli->commit();      
    echo "Data synched successfully.";
} else {        

    $mysqli->rollback();        
    echo "Data failed to synch.";
}

Jika satu kueri gagal, itu tidak akan membiarkan yang lain berjalan dan akan memutar kembali. Ini hanya contoh kode. Anda dapat menggunakan pembaruan alih-alih menyisipkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kueri agregat MongoDB vs. MySQL SELECT field1 FROM table

  2. simpan format input textarea setelah menggunakan mysql_real_escape_string untuk menyimpan

  3. mysql_query() mengharapkan parameter 2 menjadi sumber daya, string diberikan dalam

  4. mysql_connect (localhost / 127.0.0.1) lambat pada platform Windows

  5. Memilih baris di mana bidangnya nol menggunakan pernyataan yang disiapkan PHP PDO dan MySQL