Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Memeriksa Kewujudan Rekod dengan Cekap dan Memasukkan jika Tidak Hadir dalam Go?
Menyemak Kewujudan Rekod dan Memasukkan jika Tidak Hadir dalam Go
Dalam kod Go yang disediakan, pertanyaan dijalankan untuk mendapatkan jumlah pengguna dikira daripada kategori, sub_kategori dan jadual industri untuk kategori 'pembinaan'. Walau bagaimanapun, kod itu tidak menyemak sama ada rekod itu wujud sebelum melaksanakan pertanyaan.
Untuk menyemak sama ada rekod wujud dan memasukkannya jika tiada, pendekatan yang mungkin ialah:
package main import ( "database/sql" "fmt" "os" "github.com/gin-gonic/gin" ) func main() { router := gin.New() router.Use(gin.Logger()) router.Use(gin.Recovery()) dbUser := os.Getenv("DB_USER") dbPwd := os.Getenv("DB_PASSWORD") dbHost := os.Getenv("DB_HOST") dbPort := os.Getenv("DB_PORT") dbDatabase := os.Getenv("DB_NAME") db, err := sql.Open("mysql", fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", dbUser, dbPwd, dbHost, dbPort, dbDatabase)) if err != nil { fmt.Print(err.Error()) } err = db.Ping() if err != nil { fmt.Print(err.Error()) } var exists bool query := "SELECT EXISTS(SELECT 1 FROM ...)" row := db.QueryRow(query) if err = row.Scan(&exists); err != nil { return err } if !exists { query = "INSERT ..."; if _, err = db.Exec(query); err != nil { return err } } }
Kod ini menyemak sama ada rekod wujud dengan melaksanakan pertanyaan dan menyimpan hasilnya dalam pembolehubah wujud. Jika rekod tidak wujud, ia terus memasukkannya ke dalam pangkalan data dengan melaksanakan pertanyaan lain.
Atas ialah kandungan terperinci Bagaimana untuk Memeriksa Kewujudan Rekod dengan Cekap dan Memasukkan jika Tidak Hadir dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!