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
+19.2k Golang : Check if directory exist and create if does not exist
+14.9k Golang : How to check for empty array string or string?
+15.8k Golang : How to login and logout with JWT example
+11.3k Golang : How to use if, eq and print properly in html template
+11.1k Golang : Fix go.exe is not compatible with the version of Windows you're running
+26k Golang : Convert IP address string to long ( unsigned 32-bit integer )
+8.8k Golang : Gorilla web tool kit schema example
+5.9k Unix/Linux : How to open tar.gz file ?
+8.3k Golang : Configure Apache and NGINX to access your Go service example
+23.6k Golang : minus time with Time.Add() or Time.AddDate() functions to calculate past date
+14k Golang : Reverse IP address for reverse DNS lookup example
+9.4k Golang : Timeout example