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
+15.8k Golang : How to login and logout with JWT example
+4.8k PHP : Extract part of a string starting from the middle
+14.8k Golang : Normalize unicode strings for comparison purpose
+5.5k Clean up Visual Studio For Mac installation failed disk full problem
+6.6k Golang : Embedded or data bundling example
+16.4k Golang : Convert slice to array
+14.6k Golang : How to get URL port?
+8.8k Yum Error: no such table: packages
+8.2k Golang : Reverse text lines or flip line order example
+10.2k Golang : How to profile or log time spend on execution?