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

MYSQL, PHP Sisipkan ke Beberapa Tabel di Database

Karena kedua penyisipan ini dijalankan secara independen, program lain yang berjalan secara bersamaan mungkin melihat database dalam keadaan di mana penyisipan pertama dilakukan tetapi yang kedua tidak.

Apakah ini masalah atau tidak tergantung pada logika aplikasi. Dalam kasus Anda, sulit untuk mengatakannya tanpa informasi tambahan. Mungkin tidak. Sebuah transaksi keuangan yang melibatkan dua rekening adalah contoh di mana adalah masalah:Anda tidak ingin jumlah semua saldo akun salah setiap saat.

Jika Anda merasa membutuhkan ini, Anda dapat membuat operasi menjadi atomik dengan mengorbankan kinerja:program lain akan melihat database sebelum penyisipan pertama, atau setelah penyisipan kedua. Ini bekerja seperti ini:

$result = FALSE;
if (mysql_query('BEGIN')) {
    if (mysql_query($query1) &&
        mysql_query($query2))
        $result = mysql_query('COMMIT'); // both queries looked OK, save
    else
        mysql_query('ROLLBACK'); // problems with queries, no changes
}

Mesin penyimpanan harus mendukung transaksi, yaitu, harus InnoDB . Jika tidak, ini tidak akan bekerja secara diam-diam.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. UPDATE Syntax dengan ORDER BY, LIMIT dan Multiple Tables

  2. MySqlCommand Prepare() tidak pernah menyetel IsPrepared menjadi true

  3. Tetapkan tugas cron untuk memperbarui informasi artikel tergantung pada nilai suaranya

  4. Kueri SQL:daftar semua ID yang aktif selama interval waktu tertentu, diurutkan berdasarkan waktu mulainya

  5. MySQL MAX() berfungsi untuk membandingkan nilai numerik dalam pembaruan?