Heim > Backend-Entwicklung > Golang > Wie überprüfe ich das Vorhandensein eines Datensatzes und füge ihn bei Bedarf in Golang ein?

Wie überprüfe ich das Vorhandensein eines Datensatzes und füge ihn bei Bedarf in Golang ein?

Patricia Arquette
Freigeben: 2024-12-10 16:14:16
Original
828 Leute haben es durchsucht

How to Check for Record Existence and Insert if Necessary in Golang?

Überprüfen, ob ein Datensatz vorhanden ist, und Einfügen, wenn er in Golang nicht vorhanden ist

Das Ziel besteht darin, zu prüfen, ob ein Datensatz in einer Datenbank vorhanden ist, und ihn einzufügen es, wenn es nicht existiert. Um dies in Golang zu erreichen, ist ein Ansatz wie folgt:

Um die Existenz zu überprüfen, können Sie die Funktion QueryRow verwenden, die eine Zeile für die angegebene Abfrage zurückgibt. Anschließend können Sie diese Zeile mithilfe der Scan-Funktion in eine Variable scannen. Wenn der Scanvorgang erfolgreich ist, wird die Variable auf true gesetzt; andernfalls bleibt es falsch.

Wenn der Datensatz nicht vorhanden ist, können Sie die Exec-Funktion verwenden, um eine INSERT-Anweisung auszuführen und den Datensatz einzufügen.

Hier ist ein Beispiel dafür, wie Sie das können Implementieren Sie diesen Ansatz:

var exists bool
row := db.QueryRow("SELECT EXISTS(SELECT 1 FROM category WHERE name = 'construction')")
if err := row.Scan(&exists); err != nil {
    return err
} else if !exists {
    if err := db.Exec("INSERT INTO category (name) VALUES ('construction')"); err != nil {
        return err
    }
}
Nach dem Login kopieren

In diesem Beispiel prüfen wir, ob ein Datensatz in der Kategorietabelle vorhanden ist, wobei der Wert der Namensspalte auf „Konstruktion“ gesetzt ist. Wenn der Datensatz nicht vorhanden ist, fügen wir einen neuen Datensatz mit diesem Wert ein.

Sie können diesen Ansatz anpassen, um nach Datensätzen in anderen Tabellen zu suchen und diese bei Bedarf einzufügen.

Das obige ist der detaillierte Inhalt vonWie überprüfe ich das Vorhandensein eines Datensatzes und füge ihn bei Bedarf in Golang ein?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage