改善点 github.com/go-sql-driver/mysql (以降 go-mysql) の v1.8 から、Scanの振る舞いが変わります。 go-mysql v1.7.1 までは、次のコードの2つのクエリのScan結果は異なっていました。 // db の接続設定で interpolateParams が false の場合 var v any db.QueryRow("SELECT 123 WHERE ? = 1", 1).Scan(&v) fmt.Printf("%T %v\n", v, v) // int64 123 db.QueryRow("SELECT 123 WHERE 1 = 1").Scan(&v) fmt.Printf("%T %v\n", v, v) // []uint8 [49 50 51] go-mysql v1.8 (未リリース)からは、これが上の動作に

