the result wanted我有一个结构
type Users struct {
ID int `json:"id"`
Name string `json:"name"`
Age string `json:"age"`
}
我有一个 mysql 数据库,其中一些年龄值为零,所以基本上是为了使其动态,我一直在寻找解决方案。 "Age string json:-
"如果它从 mysql 返回值 nil,则隐藏该字段。
我做了两个查询
query1: select id,name,age from users where age is not null
query2: select id,name from users where age is null
如果存在年龄,我怎样才能让它成为一个动态查询来显示年龄,否则它不显示?
最佳答案
不要那样做。相反,为您的 Age
字段使用 nil-able 类型。 *string
或 sql.NullString
会是最自然的选择。然后总是选择它,NULL 值将被正确处理。
type Users struct {
ID int `json:"id"`
Name string `json:"name"`
Age *string `json:"age"`
}
然后总是使用:
SELECT id, name, age FROM users
而当Age
在数据库中为NULL时,在Go中为nil
,在数据库中不为NULL时为非nil指针到 Go 中的字符串。
关于mysql - 如果数据库 golang mysql 中的字段为空,则处理结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49731317/