我有下面的代碼片段,想法是從我們所有的倉庫中獲取客戶的忠誠度積分。客戶可能有一個id但沒有注冊忠誠度。
使用該客戶的id將導致下面的查詢回傳零行,這不是錯誤。
我想在發生這種情況時回傳一個錯誤,以便稍后處理。我正在尋找最好的方法來做到這一點。
我是編程和 golang 的新手,我還不知道我的方法。
query := `select coalesce(lc.total_points, 0),
w.machine_name from
lcustomerpoints lc
join warehouses w
on lc.machine_ip = w.machine_ip
where lc.loyaltycard_number = $1;`
rows, err := l.DB.Query(query, user_id)
if err != nil {
return nil, err
}
defer rows.Close()
loyaltyPoints := []*LoyaltyPoint{}
for rows.Next() {
l := LoyaltyPoint{}
err := rows.Scan(&l.Points, &l.Outlet)
if err != nil {
return nil, err
}
loyaltyPoints = append(loyaltyPoints, &l)
}
if err = rows.Err(); err != nil {
return nil, err
}
uj5u.com熱心網友回復:
計算for回圈迭代的次數:
count := 0
for rows.Next() {
count
...
}
if count == 0 {
return fmt.Errorf("Got 0 rows from query")
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/391453.html
標籤:PostgreSQL的 去
