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

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

Barbara Streisand
Freigeben: 2024-12-11 06:03:14
Original
482 Leute haben es durchsucht

How to Check for Record Existence and Insert in Go if Needed?

So überprüfen Sie das Vorhandensein eines Datensatzes und fügen ihn ein, wenn er in Go nicht vorhanden ist

In Ihrem Go-Programm haben Sie eine Datenbankverbindung zu MySQL Datenbank und eine Abfrage, um das Vorhandensein eines Datensatzes basierend auf einem bestimmten Namenswert zu überprüfen. Wenn der Datensatz nicht vorhanden ist, möchten Sie ihn in die Datenbank einfügen.

Ein Ansatz, dies zu erreichen, besteht darin, eine bedingte Abfrage zu verwenden, um die Prüfung und das Einfügen in einem Durchgang durchzuführen. So können Sie es machen:

package main

import (
    "database/sql"
    "fmt"

    "github.com/gin-gonic/gin"
)

func main() {

    router := gin.New()
    router.Use(gin.Logger())
    router.Use(gin.Recovery())
    db, err := sql.Open("mysql", "root:password@tcp(gpstest.cksiqniek8yk.ap-south-1.rds.amazonaws.com:3306)/tech")
    if err != nil {
        fmt.Print(err.Error())
    }
    err = db.Ping()
    if err != nil {
        fmt.Print(err.Error())
    }

    // Check if record exists
    var exists bool
    row := db.QueryRow("SELECT EXISTS(SELECT 1 FROM category WHERE name = 'construction')")
    if err := row.Scan(&exists); err != nil {
        fmt.Print(err.Error())
    }

    // Insert record if not exists
    if !exists {
        if err := db.Exec("INSERT INTO category (name) VALUES ('construction')"); err != nil {
            fmt.Print(err.Error())
        }
    }
}
Nach dem Login kopieren

In diesem Code verwenden wir die QueryRow-Funktion, um die SELECT EXISTS-Abfrage auszuführen und das Ergebnis in der Variablen „exists“ zu speichern. Wenn der Wert von „existiert“ falsch ist, bedeutet dies, dass der Datensatz nicht existiert, und wir fahren mit dem Einfügen des Datensatzes mithilfe der Exec-Funktion fort.

Das obige ist der detaillierte Inhalt vonWie überprüfe ich das Vorhandensein eines Datensatzes und füge ihn bei Bedarf in Go 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