Berbilang Pernyataan SQL dalam Satu Rentetan dengan Go
Dalam PHP, adalah mudah untuk melaksanakan berbilang penyataan SQL sekali gus dengan memisahkannya dengan koma bertitik. Walau bagaimanapun, mencari pemacu MySQL untuk Go yang menawarkan fungsi ini boleh menjadi mencabar.
Satu pemacu popular, github.com/go-sql-driver/mysql, pada mulanya menghadapi had dalam hal ini. Tetapi mengikut dokumentasi, ia kini menyokong berbilang pernyataan melalui parameter multiStatements=true connection.
Berikut ialah coretan kod yang diubah suai untuk ditunjukkan:
package main import ( "database/sql" "fmt" "log" _ "github.com/go-sql-driver/mysql" ) func main() { // Create a connection string with multiStatements enabled connectionString := fmt.Sprintf("user:password@(127.0.0.1:3306)/?multiStatements=true") db, err := sql.Open("mysql", connectionString) if err != nil { log.Println(err) } sql := "DROP SCHEMA IF EXISTS foo; CREATE SCHEMA IF NOT EXISTS foo;" _, err = db.Exec(sql) if err != nil { log.Println(err) } db.Close() }
Dengan pengubahsuaian ini, berbilang pernyataan SQL dalam rentetan sql akan dilaksanakan dalam satu panggilan, menghapuskan "Ralat 1064" sebelum ini dihadapi.
Ingat bahawa menggunakan berbilang pernyataan dalam satu rentetan harus didekati dengan berhati-hati, kerana ia boleh menghasilkan keputusan yang tidak dapat diramalkan. Dokumentasi rasmi github.com/go-sql-driver/mysql memberikan butiran lanjut tentang topik ini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Berbilang Pernyataan SQL dalam Rentetan Tunggal Menggunakan Pemacu `github.com/go-sql-driver/mysql` Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!