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
+6.7k Golang : Skip or discard items of non-interest when iterating example
+6.8k Golang : Muxing with Martini example
+15k Golang : package is not in GOROOT during compilation
+17.4k Golang : Check if IP address is version 4 or 6
+10.2k Golang : Use regular expression to get all upper case or lower case characters example
+8.7k Golang : Combine slices but preserve order example
+6.9k Golang : Normalize email to prevent multiple signups example
+10.8k Android Studio : Checkbox for user to select options example
+11.7k Golang : Find age or leap age from date of birth example
+8.2k Golang : Metaprogramming example of wrapping a function
+7.2k CloudFlare : Another way to get visitor's real IP address