Menyemak Kewujudan Rekod dan Memasukkan jika Tidak Wujud di Golang
Objektifnya adalah untuk menyemak sama ada rekod wujud dalam pangkalan data dan memasukkan ia jika ia tidak wujud. Untuk mencapai matlamat ini di Golang, satu pendekatan adalah seperti berikut:
Untuk menyemak kewujudan, anda boleh menggunakan fungsi QueryRow, yang mengembalikan baris untuk pertanyaan yang ditentukan. Anda kemudian boleh mengimbas baris ini ke dalam pembolehubah menggunakan fungsi Imbas. Jika operasi imbasan berjaya, pembolehubah akan ditetapkan kepada benar; jika tidak, ia akan kekal palsu.
Jika rekod tidak wujud, anda boleh menggunakan fungsi Exec untuk melaksanakan pernyataan INSERT dan memasukkan rekod.
Berikut ialah contoh bagaimana anda boleh laksanakan pendekatan ini:
var exists bool row := db.QueryRow("SELECT EXISTS(SELECT 1 FROM category WHERE name = 'construction')") if err := row.Scan(&exists); err != nil { return err } else if !exists { if err := db.Exec("INSERT INTO category (name) VALUES ('construction')"); err != nil { return err } }
Dalam contoh ini, kami sedang menyemak kewujudan rekod dalam jadual kategori dengan nilai lajur nama ditetapkan kepada 'pembinaan'. Jika rekod tidak wujud, kami memasukkan rekod baharu dengan nilai tersebut.
Anda boleh menyesuaikan pendekatan ini untuk menyemak rekod dalam jadual lain dan memasukkannya jika perlu.
Atas ialah kandungan terperinci Bagaimana untuk menyemak kewujudan rekod dan memasukkan jika perlu di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!