Maison >base de données >tutoriel mysql >Comment puis-je simuler l'upserting dans Microsoft Access à l'aide de SQL ?
Simuler 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 :
<code class="language-sql">UPDATE b LEFT JOIN a ON b.id = a.id SET a.f1 = b.f1, a.f2 = b.f2, a.f3 = b.f3;</code>
Dans cette requête :
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!