Maison > base de données > tutoriel mysql > MySQL propose-t-il un équivalent d'instruction MERGE ?

MySQL propose-t-il un équivalent d'instruction MERGE ?

DDD
Libérer: 2024-12-30 07:13:09
original
499 Les gens l'ont consulté

Does MySQL Offer a MERGE Statement Equivalent?

MySQL peut-il utiliser l'instruction MERGE ?

Il est souvent souhaitable d'incorporer les opérations INSERT et UPDATE dans une seule requête. De nombreuses bases de données SQL proposent une instruction MERGE à cet effet. Cependant, MySQL prend-il en charge une telle instruction ?

MySQL et l'instruction MERGE

MySQL ne prend pas explicitement en charge l'instruction MERGE. Cependant, il fournit une alternative qui permet d'obtenir une fonctionnalité similaire : INSERT...ON DUPLICATE KEY UPDATE.

Syntaxe et utilisation

INSERT...ON DUPLICATE KEY L'instruction UPDATE vous permet d'insérer une nouvelle ligne dans une table, et si une ligne avec la même clé primaire ou unique existe déjà, elle mettra à jour la ligne existante avec la nouvelle valeurs.

La syntaxe est la suivante :

INSERT INTO table (column1, column2, ...)
VALUES (value1, value2, ...)
ON DUPLICATE KEY UPDATE
  column1 = new_value1,
  column2 = new_value2,
  ...
Copier après la connexion

Exemple

Pour illustrer son utilisation, considérons l'exemple suivant :

INSERT INTO Employees (id, name, salary)
VALUES (1, 'John Doe', 50000)
ON DUPLICATE KEY UPDATE
  salary = salary + 10000;
Copier après la connexion

Si un employé avec l'ID 1 existe déjà dans la table Employés, cette relevé mettra à jour son salaire en ajoutant 10000. Sinon, il insérera une nouvelle ligne pour John Doe avec un salaire de 50 000.

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:php.cn
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