[code]
query := “SELECT name FROM student WHERE id=?”
db := g.GetDB()
row := db.QueryRow(query, id)
var name string
err := row.Scan(&id, &name)
[/code]
위와 같은 코드가 있다고 하자. 여기서 name 필드가 문자열이고 값이 있다면 아무런 에러가 안 난다.
하지만 만약 name 필드에 값이 없고 null 이라면 null 값을 string 으로 변환할 수 없다는 에러가 난다.
이때는 “database/sql” 의 NullString 을 사용해야 한다.
수정된 코드는 아래와 같다.
[code]
query := “SELECT name FROM student WHERE id=?”
db := g.GetDB()
row := db.QueryRow(query, id)
var fName sql.NullString
err := row.Scan(&id, &fname)
name := fname.String
[/code]