Rumah > pangkalan data > tutorial mysql > Apakah yang berlaku jika pernyataan DDL dilaksanakan di tengah-tengah transaksi MySQL semasa?

Apakah yang berlaku jika pernyataan DDL dilaksanakan di tengah-tengah transaksi MySQL semasa?

王林
Lepaskan: 2023-08-23 17:05:02
ke hadapan
867 orang telah melayarinya

Apakah yang berlaku jika pernyataan DDL dilaksanakan di tengah-tengah transaksi MySQL semasa?

Apabila mana-mana pernyataan DDL (seperti CREATE atau DROP pangkalan data, CREATE, ALTER atau DROP jadual atau prosedur tersimpan) dilaksanakan dalam transaksi semasa, transaksi MySQL semasa akan dilakukan dan ditamatkan. Semua perubahan pangkalan data yang dibuat dalam transaksi semasa menjadi kekal dan tidak boleh ditarik balik.

Contoh

mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO MARKS Values(6,'Manak','History',70);
Query OK, 1 row affected (0.26 sec)

mysql> Create table student(id int, Name Varchar(10),);
Query OK, 0 rows affected (0.84 sec)
Salin selepas log masuk

Seperti yang kita lihat dalam contoh di atas, penyata DDL dilaksanakan di tengah-tengah transaksi, jadi transaksi ini akan berakhir secara tersirat. MySQL akan menyimpan semua perubahan dan tidak boleh kembali. Kita boleh perhatikan ini dengan set hasil berikut:

mysql> Rollback;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from marks;
+------+---------+-----------+-------+
| Id   | Name    | Subject   | Marks |
+------+---------+-----------+-------+
| 1    | Aarav   | Maths     | 50    |
| 1    | Harshit | Maths     | 55    |
| 3    | Gaurav  | Comp      | 69    |
| 4    | Rahul   | History   | 40    |
| 5    | Yashraj | English   | 48    |
| 6    | Manak   | History   | 70    |
+------+---------+---------+---------+
6 rows in set (0.00 sec)
Salin selepas log masuk

Atas ialah kandungan terperinci Apakah yang berlaku jika pernyataan DDL dilaksanakan di tengah-tengah transaksi MySQL semasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan