Skip to content

Instantly share code, notes, and snippets.

@dorako321
Created August 25, 2018 16:07
Show Gist options
  • Save dorako321/89f5bfcf6dd67eb220866776ca0c3d7d to your computer and use it in GitHub Desktop.
Save dorako321/89f5bfcf6dd67eb220866776ca0c3d7d to your computer and use it in GitHub Desktop.
package main
import (
"fmt"
"log"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
"io/ioutil"
)
func main() {
// connect mysql db
dsn := "isucon:isucon@tcp(localhost:3306)/isubata?charset=utf8mb4&parseTime=true&loc=Local"
db, err := sqlx.Connect("mysql", dsn)
if err != nil {
log.Fatalf("Failed to connect to DB: %s.", err.Error())
}
defer db.Close()
// get records
rows, err := db.Query("SELECT `name`, `data` FROM image")
if err != nil {
log.Fatalf(err.Error())
}
defer rows.Close()
// output files
var name string
var data []byte
for rows.Next() {
err2 := rows.Scan(&name, &data)
if err2 != nil {
log.Fatalf(err2.Error())
}
fmt.Println(name)
err3 := ioutil.WriteFile(name, data, 0666)
if err3 != nil {
log.Fatalf(err3.Error())
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment