


Comment puis-je simuler l'upserting dans Microsoft Access à l'aide de SQL ?
Jan 19, 2025 pm 08:21 PMSimuler l'opération Upsert dans Microsoft Access
Normalement, l'insertion et la mise à jour de lignes dans un tableau sont deux processus indépendants. Mais que se passe-t-il si vous souhaitez effectuer les deux opérations en une seule requête ? Cette opération est souvent appelée « Upsert ».
Dans Microsoft Access 2000 et versions ultérieures, vous pouvez utiliser une requête UPDATE avec un LEFT JOIN pour simuler une opération Upsert. La syntaxe est la suivante :
UPDATE b LEFT JOIN a ON b.id = a.id SET a.f1 = b.f1, a.f2 = b.f2, a.f3 = b.f3;
Dans cette requête :
- Le tableau "b" correspond aux nouvelles données que vous souhaitez insérer ou mettre à jour.
- Table "a" est une table existante sur laquelle vous souhaitez opérer.
- Une jointure à gauche garantit que toutes les lignes qui n'existent pas dans le tableau "a" sont automatiquement jointes avec des valeurs NULL.
Donc, si une ligne avec l'ID b.id existe dans le tableau "a", cette ligne sera mise à jour avec la valeur du tableau "b". Dans le cas contraire, une nouvelle ligne sera insérée dans le tableau « a ».
Exemple :
Considérez la forme suivante :
<code>| 表 "a" | 表 "b" | |---|---| | ID | Field1 | ID | Field1 | | 1 | ValueA1 | 1 | ValueB1 | | 2 | ValueA2 | 2 | ValueB2 | | 3 | ValueA3 | 3 | ValueB3 | | | | 4 | ValueB4 |</code>
L'exécution de la requête UPDATE ci-dessus entraînera la table mise à jour suivante "a" :
<code>| ID | Field1 | |---|---| | 1 | ValueB1 | | 2 | ValueB2 | | 3 | ValueB3 | | 4 | ValueB4 | **(ID = 4 的新行已插入)**</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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Réduisez l'utilisation de la mémoire MySQL dans Docker

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE?

Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée

Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin)

Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape

Comment sécuriser MySQL contre les vulnérabilités communes (injection SQL, attaques par force brute)?

Comment configurer le cryptage SSL / TLS pour les connexions MySQL?
