select*frommarks;+------+--------------+---------------- +-- -----+|Id |Nom |Sujet |Marques|+------+-----"/> select*frommarks;+------+--------------+---------------- +-- -----+|Id |Nom |Sujet |Marques|+------+-----">

Maison  >  Article  >  base de données  >  Qu'arrive-t-il à la transaction MySQL en cours si une commande START TRANSACTION est exécutée au milieu de la transaction en cours ?

Qu'arrive-t-il à la transaction MySQL en cours si une commande START TRANSACTION est exécutée au milieu de la transaction en cours ?

WBOY
WBOYavant
2023-09-03 10:41:021236parcourir

如果在当前事务的中间执行 START TRANSACTION 命令,当前 MySQL 事务会发生什么?

Si START TRANSACTION est exécuté au milieu de la transaction en cours, la transaction en cours sera validée et terminée. Toutes les modifications apportées à la base de données au cours de la transaction en cours deviennent permanentes. C'est ce qu'on appelle une validation implicite de la commande START TRANSACTION.

Exemple

Supposons que nous ayons les valeurs suivantes dans le tableau "marks"

mysql> select * from marks;
+------+---------+-----------+-------+
| Id   | Name    | Subject   | Marks |
+------+---------+-----------+-------+
| 1    | Aarav   | Maths     | 50    |
| 1    | Harshit | Maths     | 55    |
| 3    | Gaurav  | Comp      | 69    |
+------+---------+-----------+-------+
3 rows in set (0.00 sec)

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

mysql> INSERT INTO Marks Values(4, 'Rahul','History',40);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO Marks Values(5, 'Yashraj','English',48);
Query OK, 1 row affected (0.00 sec)

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

Dans cet exemple, nous pouvons observer que lorsque l'instruction START TRANSACTION est exécutée au milieu de la transaction en cours, elle mettra implicitement fin à la transaction en cours transaction et valider les modifications.

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    |
+------+---------+-----------+-------+
5 rows in set (0.00 sec)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer