Transaksi Bersarang dalam MySQL
Tidak seperti sistem pengurusan pangkalan data lain tertentu, MySQL tidak menyokong transaksi bersarang secara asli. Ini bermakna anda tidak boleh membuat transaksi baharu dalam transaksi sedia ada. Walau bagaimanapun, MySQL InnoDB, enjin storan popular yang digunakan dalam MySQL, menawarkan penyelesaian untuk mengurus gelagat seperti transaksi bersarang melalui penggunaan titik simpanan.
SAVEPOINTS dalam InnoDB
Savepoints membolehkan anda mencipta pencapaian sementara dalam transaksi. Anda boleh mencipta dan menamakan titik simpan, dan kemudian kembali ke titik simpanan itu untuk membuat asal sebarang operasi yang berlaku selepasnya. Ini memberikan tahap kebutiran dan fleksibiliti yang serupa dengan transaksi bersarang.
Cara Menggunakan SAVEPOINTS
Untuk menggunakan savepoint dalam MySQL, anda boleh mengikuti langkah berikut:
Contoh
Pertimbangkan contoh berikut:
CREATE TABLE t_test (id INT NOT NULL PRIMARY KEY) ENGINE=InnoDB; START TRANSACTION; INSERT INTO t_test VALUES (1); SELECT * FROM t_test; id --- 1 SAVEPOINT tran2; INSERT INTO t_test VALUES (2); SELECT * FROM t_test; id --- 1 2 ROLLBACK TO tran2; SELECT * FROM t_test; id --- 1 ROLLBACK; SELECT * FROM t_test; id ---
Dalam contoh ini, kami menunjukkan cara untuk mengembalikan semula ke titik simpanan (tran2) dan kemudian tarik balik keseluruhan transaksi.
Atas ialah kandungan terperinci Bagaimanakah MySQL Mengendalikan Transaksi Bersarang Menggunakan Savepoints?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!