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

Apakah mysql_query melakukan semuanya?

Ekstensi mysql lama tidak memiliki fungsi khusus untuk kontrol transaksi, tetapi Anda dapat mengeluarkan pernyataan SQL untuk melakukan apa yang Anda inginkan.

Anda dapat menonaktifkan autocommit secara implisit selama satu transaksi hanya dengan memulai transaksi:

mysql_query("START TRANSACTION");

Segera setelah Anda COMMIT atau ROLLBACK, mode autocommit akan kembali ke default.

mysql_query("COMMIT"); // or ROLLBACK

Anda dapat menonaktifkan komit otomatis untuk seluruh sesi dengan menyetel variabel sesi:

mysql_query("SET autocommit=0");

Atau ubah secara global pada instance MySQL Anda sehingga mengubah default untuk semua sesi:

mysql_query("SET GLOBAL autocommit=0");

Atau atur untuk mengubah pengaturan global saat memulai layanan MySQL dengan mengedit /etc/my.cnf:

[mysqld]
autocommit=0

Jika Anda menggunakan MySQL 5.1, Anda harus melakukannya sedikit berbeda:

[mysqld]
init_connect='SET autocommit=0'

Anda mungkin sudah tahu, tetapi perlu diulang bahwa transaksi hanya berarti apa-apa jika Anda menggunakan tabel InnoDB. Tabel MyISAM tidak mendukung transaksi, jadi mereka selalu melakukan autocommit terlepas dari pengaturan Anda. Sama dengan beberapa mesin penyimpanan lainnya, termasuk MEMORY dan CSV.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konfigurasikan server email agar berfungsi dengan PHP

  2. Cara mendapatkan ukuran kolom di tabel mysql

  3. Pembuat kueri Laravel untuk hasil rekursif? Misalnya. id, parent_id

  4. Format datetime mysql tambahkan 10 menit

  5. Apa cara terbaik untuk menyimpan Alkitab dalam SQL?