Maison  >  Article  >  base de données  >  Les opérations de modification des données sont-elles automatiquement soumises dans MySQL ?

Les opérations de modification des données sont-elles automatiquement soumises dans MySQL ?

WBOY
WBOYoriginal
2024-03-15 14:03:04330parcourir

Les opérations de modification des données sont-elles automatiquement soumises dans MySQL ?

Les opérations de modification de données dans MySQL sont automatiquement soumises par défaut, c'est-à-dire que chaque fois que vous effectuez UPDATE, INSERT, DELETE, etc. pour modifier des données, elles prendront effet immédiatement et seront soumises à la base de données. L'avantage est de garantir la cohérence et la durabilité des données, mais cela comporte parfois également certains risques. Par exemple, lorsque vous effectuez plusieurs opérations de modification, vous souhaiterez peut-être soumettre toutes les opérations en même temps au lieu de soumettre chaque opération immédiatement.

MySQL fournit le concept de transactions, qui peut contrôler manuellement la soumission des opérations de modification des données, permettant ainsi de soumettre plusieurs opérations en même temps ou d'annuler.

Ci-dessous, j'utiliserai des exemples de code spécifiques pour démontrer la fonctionnalité de soumission automatique des opérations de modification de données dans MySQL et comment contrôler manuellement la soumission.

Tout d'abord, nous créons une table nommée "test_table" avec la structure suivante :

CREATE TABLE test_table (
    id INT PRIMARY KEY,
    name VARCHAR(50)
);

Ensuite, nous insérons quelques données de test :

INSERT INTO test_table (id, name) VALUES (1, 'Alice');
INSERT INTO test_table (id, name) VALUES (2, 'Bob');
INSERT INTO test_table (id, name) VALUES (3, 'Charlie');

Maintenant, nous essayons d'exécuter une simple instruction UPDATE pour modifier les données et voir l'effet de soumission automatique :

UPDATE test_table SET name = 'David' WHERE id = 1;
SELECT * FROM test_table;

Après avoir exécuté l'instruction ci-dessus, vous pouvez voir que les données ont été modifiées avec succès, indiquant que l'opération de modification a été automatiquement soumise.

Ensuite, nous contrôlons manuellement la soumission des opérations de modification des données en mettant en place des transactions :

START TRANSACTION;
UPDATE test_table SET name = 'Eve' WHERE id = 2;

Ici, nous utilisons START TRANSACTION pour démarrer une transaction et ne pas temporairement valider après l'opération de mise à jour des données. START TRANSACTION来开始一个事务,并在更新数据的操作后暂时不提交。

接着我们尝试查询数据,此时修改还未提交,所以查询仍然会返回之前的数据:

SELECT * FROM test_table;

接着我们手动提交这个事务:

COMMIT;

执行完以上语句后,再次查询数据,发现数据已经成功被修改了。

另外,如果想要撤销之前的修改操作并回滚事务,可以使用ROLLBACK命令:

START TRANSACTION;
UPDATE test_table SET name = 'Grace' WHERE id = 3;
SELECT * FROM test_table;
ROLLBACK;
SELECT * FROM test_table;

在上面的示例中,执行ROLLBACK

Ensuite, nous essayons d'interroger les données. Pour le moment, la modification n'a pas été soumise, donc la requête renverra toujours les données précédentes :

rrreee

Ensuite, nous soumettons manuellement la transaction :🎜rrreee🎜Après avoir exécuté l'instruction ci-dessus, nous interrogeons à nouveau les données et constatons que les données ont été modifiées avec succès. 🎜🎜De plus, si vous souhaitez annuler l'opération de modification précédente et annuler la transaction, vous pouvez utiliser la commande ROLLBACK : 🎜rrreee🎜Dans l'exemple ci-dessus, les données ont été découvertes après l'exécution de ROLLBACK Il n'a pas été modifié, indiquant que la transaction a été annulée avec succès. 🎜🎜Grâce à l'exemple ci-dessus, nous pouvons voir que les opérations de modification des données sont automatiquement validées par défaut dans MySQL, mais l'opération de validation ou de restauration peut être contrôlée manuellement via des transactions pour obtenir une méthode d'opération de données plus flexible. 🎜

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn