Maison  >  Article  >  base de données  >  Comment pouvons-nous utiliser la clause WHERE avec la commande MySQL INSERT INTO ?

Comment pouvons-nous utiliser la clause WHERE avec la commande MySQL INSERT INTO ?

PHPz
PHPzavant
2023-09-05 13:41:08740parcourir

我们如何将 WHERE 子句与 MySQL INSERT INTO 命令一起使用?

En cas d'insertion de nouvelles lignes, nous pouvons utiliser l'insertion conditionnelle, c'est-à-dire la clause WHERE et la commande INSERT INTO. Cela peut être fait de la manière suivante -

À l'aide d'une table virtuelle

Dans ce cas, nous insérons les valeurs de la table virtuelle ainsi qu'un certain statut. La syntaxe est la suivante -

INSERT INTO table_name(column1,column2,column3,…) Select value1,value2,value3,… From dual WHERE [conditional predicate];

Exemple

mysql> Create table testing(id int, item_name varchar(10));
Query OK, 0 rows affected (0.15 sec)

mysql> Insert into testing (id,item_name)Select 1,'Book' From Dual Where 1=1;
Query OK, 1 row affected (0.11 sec)
Records: 1 Duplicates: 0 Warnings: 0

mysql> Select * from testing;

+------+-----------+
| id   | item_name |
+------+-----------+
| 1    | Book      |
+------+-----------+

1 row in set (0.00 sec)

Dans l'exemple ci-dessus, nous avons créé une table "testing" et afin d'y insérer des lignes, nous utilisons une table virtuelle dual avec des conditions. Si la condition est vraie, MySQL insérera la ligne dans la table, sinon ce ne sera pas le cas.

À l'aide d'une table avec la même structure

Si nous voulons insérer dans une table avec la même structure qu'une autre table, alors dans l'exemple suivant, il est démontré comment faire une insertion conditionnelle, c'est-à-dire comment utiliser la clause WHERE avec INSERT Déclaration INTO.

mysql> Insert into dummy1(id,name)select id, name from dummy Where id =1;
Query OK, 1 row affected (0.06 sec)
Records: 1 Duplicates: 0 Warnings: 0

mysql> select * from dummy;

+------+--------+
| id   | Name   |
+------+--------+
| 1    | Gaurav |
| 2    | Aarav |
+------+--------+

2 rows in set (0.00 sec)

mysql> select * from dummy1;

+------+--------+
| id   | Name   |
+------+--------+
| 1    | Gaurav |
+------+--------+

1 row in set (0.00 sec)

Dans l'exemple ci-dessus, nous avons inséré des valeurs dans le tableau "dummy1" avec la même structure que le tableau "dummy" avec la condition que seules les lignes avec "id = 1" seront insérées.

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