Laksanakan Berbilang Pernyataan SQL dalam Rentetan Tunggal dengan Go
Lambakan SQL yang dihasilkan oleh mysqldump selalunya mengandungi berbilang pernyataan yang perlu dilaksanakan secara berurutan untuk menyediakan pangkalan data. Mencari pemacu MySQL untuk Go yang boleh mengendalikan tugas ini boleh menjadi mencabar.
Pemandu Sedia Ada dengan Had
Pemandu biasa seperti Go-MySQL-Driver dan MyMySQL kekurangan sokongan untuk melaksanakan berbilang kenyataan dalam satu rentetan. Percubaan untuk melaksanakan pernyataan sedemikian akan mengakibatkan ralat.
Go-MySQL-Driver: Mendayakan Sokongan Berbilang Penyata
go-sql-driver/mysql driver menawarkan penyelesaian dengan membenarkan anda menetapkan parameter sambungan multiStatements=true. Parameter ini membolehkan pelaksanaan berbilang pernyataan dalam satu rentetan.
package main import ( "database/sql" "log" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "user:password@(127.0.0.1:3306)/?multiStatements=true") 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 menetapkan multiStatements=true, pemandu akan melaksanakan kedua-dua pernyataan dalam rentetan, berjaya mencipta skema foo. Adalah penting untuk ambil perhatian bahawa dokumentasi pemandu memberi amaran agar tidak menggunakan pilihan ini kerana kemungkinan isu dengan transaksi dan pengehadan lain.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Berbilang Pernyataan SQL dalam Rentetan Tunggal Menggunakan Pemacu MySQL Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!