Maison > base de données > tutoriel mysql > Échanger les valeurs de deux colonnes dans MySQL ?

Échanger les valeurs de deux colonnes dans MySQL ?

PHPz
Libérer: 2023-08-22 09:49:02
avant
1547 Les gens l'ont consulté

Échanger les valeurs de deux colonnes dans MySQL ?

Pour échanger deux colonnes, nous pouvons appliquer la logique d'échange ci-dessous.

  • Ajoutez les deux valeurs et stockez-les dans la première colonne

  • Soustrayez la valeur de la première colonne de la seconde et stockez-la dans la deuxième colonne.

  • Soustrayez la valeur de la première colonne de la deuxième colonne mise à jour et stockez-la dans la première.

La structure des règles ci-dessus est la suivante. Supposons que la première colonne soit a et la deuxième colonne soit b.

1. a = a+b;
2. b = a-b;
3. a = a-b;
Copier après la connexion

Nous allons maintenant appliquer la règle ci-dessus afin d'échanger les valeurs des deux colonnes.

Création d'une table.

mysql> create table SwappingTwoColumnsValueDemo
   -> (
   -> FirstColumnValue int,
   -> SecondColumnValue int
   -> );
Query OK, 0 rows affected (0.49 sec)
Copier après la connexion

Insertion de quelques enregistrements.

mysql>  insert into SwappingTwoColumnsValueDemo values(10,20),(30,40),(50,60),(70,80),(90,100);
Query OK, 5 rows affected (0.19 sec)
Records: 5  Duplicates: 0  Warnings: 0
Copier après la connexion

Pour vérifier les valeurs des colonnes avant de les échanger.

mysql> select *from SwappingTwoColumnsValueDemo;
Copier après la connexion
Copier après la connexion

Ce qui suit est le résultat.

+------------------+-------------------+
| FirstColumnValue | SecondColumnValue |
+------------------+-------------------+
|               10 |                20 |
|               30 |                40 |
|               50 |                60 |
|               70 |                80 |
|               90 |               100 |
+------------------+-------------------+
5 rows in set (0.00 sec)
Copier après la connexion

Syntaxe pour échanger les valeurs des colonnes.

mysql> UPDATE SwappingTwoColumnsValueDemo
   -> SET FirstColumnValue = FirstColumnValue+SecondColumnValue,
   -> SecondColumnValue = FirstColumnValue-SecondColumnValue,
   -> FirstColumnValue = FirstColumnValue-SecondColumnValue;
Query OK, 5 rows affected (0.15 sec)
Rows matched: 5  Changed: 5  Warnings: 0
Copier après la connexion

Pour vérifier si les valeurs des colonnes ont été échangées ou non.

mysql> select *from SwappingTwoColumnsValueDemo;
Copier après la connexion
Copier après la connexion

Ce qui suit est le résultat.

+------------------+-------------------+
| FirstColumnValue | SecondColumnValue |
+------------------+-------------------+
|               20 |                10 |
|               40 |                30 |
|               60 |                50 |
|               80 |                70 |
|              100 |                90 |
+------------------+-------------------+
5 rows in set (0.00 sec)
Copier après la connexion

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!

source:tutorialspoint.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal