Heim > Datenbank > MySQL-Tutorial > Wie simuliere ich ein Upsert in Microsoft Access mit UPDATE und LEFT JOIN?

Wie simuliere ich ein Upsert in Microsoft Access mit UPDATE und LEFT JOIN?

Linda Hamilton
Freigeben: 2025-01-19 20:12:09
Original
663 Leute haben es durchsucht

How to Simulate an Upsert in Microsoft Access Using UPDATE and LEFT JOIN?

Einfügen oder Aktualisieren (Upsert) in Microsoft Access

Frage:

In Microsoft Access 2000 möchten Sie einen Vorgang ausführen, der eine Zeile aktualisiert, wenn sie vorhanden ist, und eine neue Zeile einfügt, wenn sie nicht vorhanden ist.

Lösung:

Verwenden Sie UPDATE und LEFT JOIN, um Upsert zu simulieren

Sie können einen Upsert in Access simulieren, indem Sie eine UPDATE-Abfrage mit einem LEFT JOIN verwenden. Die Abfrage verwendet LEFT JOIN, um zu prüfen, ob eine Zeile vorhanden ist, und aktualisiert oder fügt dann entsprechend ein:

UPDATE b
LEFT JOIN a ON b.id = a.id
SET a.f1 = b.f1,
    a.f2 = b.f2,
    a.f3 = b.f3;
Nach dem Login kopieren

In dieser Abfrage steht „b“ für neue Daten und „a“ für eine vorhandene Tabelle. Wenn in „a“ eine übereinstimmende Zeile vorhanden ist, aktualisiert die Abfrage den Wert in „a“ mit dem entsprechenden Wert in „b“. Andernfalls fügt die Abfrage eine neue Zeile in „a“ ein und verwendet dabei den Wert von „b“.

Vereinfachtes Beispiel:

Der Übersichtlichkeit halber finden Sie hier eine vereinfachte Version der Abfrage:

UPDATE main_table RIGHT JOIN new_data 
    ON main_table.id = new_data.id
SET
    main_table.id = new_data.id,
    main_table.col_1 = new_data.col_1,
    main_table.col_2 = new_data.col_2;
Nach dem Login kopieren

Diese Abfrage aktualisiert oder fügt Zeilen in „main_table“ basierend auf den Werten in „new_data“ ein. Die Spalte „id“ ist die Übereinstimmungsbedingung, und die Werte, die aktualisiert oder eingefügt werden, sind „col_1“ und „col_2“.

Das obige ist der detaillierte Inhalt vonWie simuliere ich ein Upsert in Microsoft Access mit UPDATE und LEFT JOIN?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage