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

Échanger les valeurs de deux colonnes dans MySQL ?

PHPz
PHPzavant
2023-08-22 09:49:021467parcourir

É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;

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)

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

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

mysql> select *from SwappingTwoColumnsValueDemo;

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)

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

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

mysql> select *from SwappingTwoColumnsValueDemo;

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)

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