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!