Maison base de données tutoriel mysql 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 ?

Mar 15, 2024 pm 02:03 PM
mysql 自动提交 数据修改

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)
);
Copier après la connexion

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');
Copier après la connexion

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;
Copier après la connexion

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;
Copier après la connexion

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;
Copier après la connexion

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

COMMIT;
Copier après la connexion

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

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

START TRANSACTION;
UPDATE test_table SET name = 'Grace' WHERE id = 3;
SELECT * FROM test_table;
ROLLBACK;
SELECT * FROM test_table;
Copier après la connexion

在上面的示例中,执行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 de ce site Web
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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Compétences de traitement de structures de données volumineuses de PHP Compétences de traitement de structures de données volumineuses de PHP May 08, 2024 am 10:24 AM

Compétences de traitement de structures de données volumineuses de PHP

Comment optimiser les performances des requêtes MySQL en PHP ? Comment optimiser les performances des requêtes MySQL en PHP ? Jun 03, 2024 pm 08:11 PM

Comment optimiser les performances des requêtes MySQL en PHP ?

Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Jun 03, 2024 pm 12:19 PM

Comment utiliser la sauvegarde et la restauration MySQL en PHP ?

Comment insérer des données dans une table MySQL en utilisant PHP ? Comment insérer des données dans une table MySQL en utilisant PHP ? Jun 02, 2024 pm 02:26 PM

Comment insérer des données dans une table MySQL en utilisant PHP ?

Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ? Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ? May 05, 2024 am 09:06 AM

Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ?

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Dec 09, 2024 am 11:42 AM

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4

Comment utiliser les procédures stockées MySQL en PHP ? Comment utiliser les procédures stockées MySQL en PHP ? Jun 02, 2024 pm 02:13 PM

Comment utiliser les procédures stockées MySQL en PHP ?

Stratégies d'optimisation des performances pour la pagination des tableaux PHP Stratégies d'optimisation des performances pour la pagination des tableaux PHP May 02, 2024 am 09:27 AM

Stratégies d'optimisation des performances pour la pagination des tableaux PHP

See all articles