Golang database/sql.Rows.Scan function examples
package database/sql
Scan copies the columns in the current row into the values pointed at by dest.
If an argument has type *[]byte, Scan saves in that argument a copy of the corresponding data. The copy is owned by the caller and can be modified and held indefinitely. The copy can be avoided by using an argument of type *RawBytes instead; see the documentation for RawBytes for restrictions on its use.
If an argument has type *interface{}, Scan copies the value provided by the underlying driver without conversion. If the value is of type []byte, a copy is made and the caller owns the result.
Golang database/sql.Rows.Scan function usage examples
Example 1:
var out bool
rows = dbt.mustQuery("SELECT value FROM test")
if rows.Next() {
rows.Scan(&out) //<-- here
if true != out {
dbt.Errorf("true != %t", out)
}
if rows.Next() {
dbt.Error("unexpected data")
}
} else {
dbt.Error("no data")
}
Example 2:
var target interface{}
if rows.Next() {
err := rows.Scan(target)
return err
}
Example 3:
rows, err := db.conn.Query("SELECT entity_id, name FROM edge where parent_id = ?;", e.id)
if err != nil {
return nil, err
}
defer rows.Close()
for rows.Next() {
var entityId, entityName string
if err := rows.Scan(&entityId, &entityName); err != nil { // <--- here
return nil, err
}
...
References :
https://github.com/go-sql-driver/mysql/blob/master/driver_test.go
Advertisement
Something interesting
Tutorials
+5.9k Golang : Generate multiplication table from an integer example
+8.1k Golang : Multiplexer with net/http and map
+22.7k Golang : Set and Get HTTP request headers example
+5.4k Golang : fmt.Println prints out empty data from struct
+4.7k Javascript : Access JSON data example
+6.1k Golang : Measure execution time for a function
+18.3k Golang : Get path name to current directory or folder
+8.6k Golang : Another camera capture GUI application with GTK and OpenCV
+10.3k Golang : Convert file unix timestamp to UTC time example
+29.1k Golang : Get first few and last few characters from string
+6.1k Golang : Debug with Godebug