Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Golang Boleh Menyemak dan Memasukkan Rekod Pangkalan Data dengan Cekap jika Diperlukan?
Menggunakan Golang untuk Menyemak dan Memasukkan Rekod Dengan Cekap Ke dalam Pangkalan Data
Coretan kod ini meneroka senario di mana kami ingin memastikan kewujudan rekod dalam pangkalan data dan masukkannya jika ia tidak hadir menggunakan Golang. Kod ini mewujudkan sambungan ke pangkalan data MySQL dan melaksanakan pertanyaan untuk menyemak jumlah lajur tertentu merentas berbilang jadual.
Untuk meningkatkan fungsi ini, kami boleh menambah blok if-else untuk menyemak sama ada rekod itu wujud menggunakan pertanyaan SQL yang berasingan. Jika rekod sudah wujud, kod akan diteruskan seperti biasa. Walau bagaimanapun, jika ia tidak, ia memulakan pernyataan INSERT tambahan untuk memasukkan rekod ke dalam pangkalan data.
Berikut ialah kod yang diubah suai:
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()) } rows, err := db.Query("select sum(usercount) as usercount from ( select count(*) as usercount from category where name = 'construction' union all select count(*) as usercount from sub_category where name = 'construction' union all select count(*) as usercount from industry where name = 'construction' ) as usercounts;") // Check if record exists row := db.QueryRow("SELECT EXISTS(SELECT 1 FROM ...)") var exists bool if err := row.Scan(&exists); err != nil { return err } // Insert record if it doesn't exist if !exists { if err := db.Exec("INSERT ..."); err != nil { return err } } }
Pengubahsuaian ini memastikan pangkalan data sentiasa mempunyai data terkini, walaupun rekod pada mulanya tiada.
Atas ialah kandungan terperinci Bagaimanakah Golang Boleh Menyemak dan Memasukkan Rekod Pangkalan Data dengan Cekap jika Diperlukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!