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
Barbara StreisandOriginal
2024-12-11 06:03:14489Durchsuche

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())
        }
    }
}

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!

Stellungnahme:
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