Maison >base de données >tutoriel mysql >Comment puis-je insérer ou mettre à jour efficacement des données dans MySQL à l'aide d'une seule requête ?
Rationalisation de la gestion des données MySQL : insertions et mises à jour d'une requête unique
MySQL offre une solution élégante pour insérer efficacement de nouvelles données ou mettre à jour des enregistrements existants en fonction de l'existence d'une clé : l'instruction INSERT ... ON DUPLICATE KEY UPDATE
.
Étapes de mise en œuvre :
Commencez par une instruction INSERT
standard, ciblant la table et les colonnes spécifiques.
Ajouter la clause ON DUPLICATE KEY UPDATE
. Cette clause dicte les actions de mise à jour déclenchées lorsqu'une clé en double (définie par une contrainte unique ou une clé primaire) est détectée.
Au sein de la section ON DUPLICATE KEY UPDATE
, définissez les colonnes à mettre à jour et leurs nouvelles valeurs.
Exemple illustratif :
Considérons un tableau nommé usage
avec les colonnes thing_id
, times_used
et first_time_used
. Pour insérer une nouvelle ligne pour un thing_id
donné s'il est absent, ou incrémenter times_used
si le thing_id
existe déjà, utilisez cette requête :
<code class="language-sql">INSERT INTO `usage` (`thing_id`, `times_used`, `first_time_used`) VALUES (4815162342, 1, NOW()) ON DUPLICATE KEY UPDATE `times_used` = `times_used` + 1;</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!