рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдВрддрд┐рдо рд╕рдореНрдорд┐рд▓рд┐рдд рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣ mysql рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ
рдмрд╕ db.Exec рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдЕрдВрддрд┐рдо рд╕рдореНрдорд┐рд▓рд┐рдд рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ db.Exec рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рд░ CREATE / INSERT / UPDATE / DELETE рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
package main
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
func main() {
db, err := sql.Open("mysql", "user:pass@/dbname")
if err != nil {
panic("Error opening DB:", err.Error())
}
defer db.Close()
someParam := "value"
if res, err := db.Exec(`INSERT INTO foo VALUES("bar", ?))`, someParam)
if err != nil {
println("Exec err:", err.Error())
} else {
id, err := res.LastInsertId()
if err != nil {
println("Error:", err.Error())
} else {
println("LastInsertId:", id)
}
}
}
рдпрд╣ рд╕рднреА рджреЗрдЦреЗрдВ:
http://golang.org/pkg/database/sql/#DB.Exec
http://golang.org/pkg/database/sql/#Result
рд╢реБрдХреНрд░рд┐рдпрд╛ рдорд╣рд╛рд╢рдп!
if err == nil {
println("LastInsertId:", id)
} else {
println("Error:", err.Error())
}
рдСрдкреНрд╕ рдЯрд╛рдЗрдкреЛред рдореИрдВрдиреЗ рдКрдкрд░ рдХреЛрдб рддрдп рдХрд┐рдпрд╛ред рдзрдиреНрдпрд╡рд╛рдж!
Int64 рдХреЗ рдмрдЬрд╛рдп int рдХреЛ рдХреИрд╕реЗ рдХрдиреНрд╡рд░реНрдЯ рдХрд░реЗрдВ?
strconv.Itoa(id) => cannot use id (type int64) as type int in argument to strconv.Itoa
рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдУ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рд╕рд╡рд╛рд▓ рд╣реИред рдпрд╣рд╛рдБ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд╡рд╛рд▓ рдордд рдкреВрдЫреЛред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдмрд╕ db.Exec рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдЕрдВрддрд┐рдо рд╕рдореНрдорд┐рд▓рд┐рдд рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ db.Exec рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рд░ CREATE / INSERT / UPDATE / DELETE рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рд╕рднреА рджреЗрдЦреЗрдВ:
http://golang.org/pkg/database/sql/#DB.Exec
http://golang.org/pkg/database/sql/#Result