如何识别结果集postgres中的最后一行?

时间:2016-11-08 09:19:58

标签: postgresql go

我正在使用Postgres 9.5并使用golang库lib / pq与数据库进行交互。我执行一个返回多行的选择查询,然后我使用for rows.Next()进行迭代。无论如何,我在lat记录之前停止。如果它是最后一条记录,我想在控制台上打印其他东西。如下所示:

for rows.Next() {

    var id string
    err = rows.Scan(&id)
    if err != nil {
        log.Printf("Error in rows.Scan: %s\n", err)
    }

    if (row is not last) {
        fmt.Println(id + "I am not last")
    } else {
        fmt.Println(id + "I am last")
    }
}

1 个答案:

答案 0 :(得分:3)

你可以在go中表达类似do while循环的内容。

notLast := rows.Next()
for notLast {
    //... rows.Scan
    notLast = rows.next()
    if notLast {
        fmt.Println(id + "I am not last")
    } else {
        fmt.Println(id + "I am last")
    }
}