go言語 mysqlに接続してupdateを実行する

go言語 mysqlに接続してupdateを実行する

go言語で、mysqlに接続してupdateを実行するサンプルコードを記述してます。go言語のバージョンは1.14.6を使用してます。

環境

  • OS windows 11 Home
  • go 1.14.6

github.com/go-sql-driver/mysqlインストール

ライブラリ「github.com/go-sql-driver/mysql」を使用するのでない場合は、「go get」を使って追加しておきます。

go get -u github.com/go-sql-driver/mysql

サンプルコード

localhostにある「mysql」に接続して、以下のDB「foo」にあるテーブル「TestData」にupdate文を実行してみます。

テーブル「 TestData 」

サンプルコードは、以下となります。

package main

import (
	"database/sql"
	"fmt"

	_ "github.com/go-sql-driver/mysql"
)

func main() {

	//sql.Open("mysql", "user:password@/dbname")
	db, err := sql.Open("mysql", "testuser:password@tcp(localhost:3306)/foo")

	if err != nil {
		panic(err.Error())
	}

	defer db.Close()

	up, err := db.Prepare("UPDATE TestData SET name=? WHERE id=?")

	if err != nil {
		fmt.Println("データベース接続失敗")
		panic(err.Error())
	} else {
		fmt.Println("データベース接続成功")
	}

	defer db.Close()

	result, err := up.Exec("一郎", 1)
	rowsAffect, err := result.RowsAffected()

	if err != nil {
		panic(err.Error())
	}
	fmt.Println(rowsAffect)

}

実行結果を見ると、updateされていることが確認できます。