Heim > Datenbank > MySQL-Tutorial > Wie kann ich das Upserting in Microsoft Access mithilfe von SQL simulieren?

Wie kann ich das Upserting in Microsoft Access mithilfe von SQL simulieren?

DDD
Freigeben: 2025-01-19 20:21:12
Original
814 Leute haben es durchsucht

How Can I Simulate Upserting in Microsoft Access Using SQL?

Upsert-Vorgang in Microsoft Access simulieren

Normalerweise sind das Einfügen und Aktualisieren von Zeilen in eine Tabelle zwei unabhängige Prozesse. Was aber, wenn Sie beide Vorgänge in einer Abfrage ausführen möchten? Dieser Vorgang wird oft als „Upsert“ bezeichnet.

In Microsoft Access 2000 und höher können Sie eine UPDATE-Abfrage mit einem LEFT JOIN verwenden, um einen Upsert-Vorgang zu simulieren. Die Syntax lautet wie folgt:

<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>
Nach dem Login kopieren

In dieser Abfrage:

  • Tabelle „b“ sind die neuen Daten, die Sie einfügen oder aktualisieren möchten.
  • Tabelle „a“ ist eine vorhandene Tabelle, die Sie bearbeiten möchten.
  • Eine Linksverknüpfung stellt sicher, dass alle Zeilen, die in Tabelle „a“ nicht vorhanden sind, automatisch mit NULL-Werten verknüpft werden.

Wenn also eine Zeile mit der ID b.id in Tabelle „a“ vorhanden ist, wird diese Zeile mit dem Wert aus Tabelle „b“ aktualisiert. Andernfalls wird eine neue Zeile in die Tabelle „a“ eingefügt.

Beispiel:

Betrachten Sie das folgende Formular:

<code>| 表 "a" | 表 "b" |
|---|---|
| ID | Field1 | ID | Field1 |
| 1 | ValueA1 | 1 | ValueB1 |
| 2 | ValueA2 | 2 | ValueB2 |
| 3 | ValueA3 | 3 | ValueB3 |
|   |         | 4 | ValueB4 |</code>
Nach dem Login kopieren

Das Ausführen der obigen UPDATE-Abfrage führt zur folgenden aktualisierten Tabelle „a“:

<code>| ID | Field1 |
|---|---|
| 1 | ValueB1 |
| 2 | ValueB2 |
| 3 | ValueB3 |
| 4 | ValueB4 |  **(ID = 4 的新行已插入)**</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich das Upserting in Microsoft Access mithilfe von SQL simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage