Maison >base de données >tutoriel mysql >Comment mettre à jour ou insérer efficacement des données dans SQL en fonction de l'existence d'enregistrements ?
Présentation
En SQL, interagir avec les données existantes est une tâche courante. Les développeurs doivent souvent mettre à jour ou insérer des données de manière conditionnelle en fonction de l'existence ou non d'un enregistrement. Cet article vise à relever les défis auxquels les utilisateurs sont confrontés lorsqu'ils tentent d'implémenter les fonctionnalités IF EXISTS UPDATE et ELSE INSERT INTO.
Déclaration SI EXISTE
L'instruction IF EXISTS permet aux développeurs de spécifier les conditions à vérifier avant d'exécuter des requêtes SQL. Si la condition est vraie, l’action spécifiée est exécutée ; sinon, l’action est ignorée.
Utilisez IF EXISTS pour les mises à jour et les insertions conditionnelles
La question posée dans la requête consiste à mettre à jour un enregistrement s'il existe et à insérer un nouvel enregistrement s'il n'existe pas. Pour ce faire, les étapes suivantes doivent être suivies :
La syntaxe correcte de cette instruction est la suivante :
<code class="language-sql">INSERT INTO 表名 (列1, 列2, ...) VALUES (?, ?, ...) ON DUPLICATE KEY UPDATE 列1 = VALUES(列1), 列2 = VALUES(列2), ...</code>
Exemple de code
Utilisez l'exemple fourni dans la requête :
<code class="language-sql">ALTER TABLE subs ADD UNIQUE (subs_email); INSERT INTO subs (subs_name, subs_email, subs_birthday) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE subs_name = VALUES(subs_name), subs_birthday = VALUES(subs_birthday);</code>
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!