golang sqldatabase rows.Next

时间:2017-01-09 20:24:45

标签: go

执行rows.Next到列表的末尾,不让你回到开头?我想运行一个查询,检查数据库中是否有特定对象的数据。如果有该对象,我想更新它。如果它不存在,我想插入一个新行。所以我这样做:

    rows, err := db.Query(query)
    if err != nil {
        Error.Printf("error querying: %v", err)
    }

    if !rows.Next() {
        // insert new data
    }

就像我期望的那样对它自己起作用。但是,如果我这样做而且更多逻辑到片段的末尾:

    rows, err := db.Query(query)
    if err != nil {
        Error.Printf("error querying: %v", err)
    }

    if !rows.Next() {
        // insert new data
    }
    for rows.Next() {
        fmt.Println("-----")
        // do update
    }

My for rows.Next()永远不会进入。如果我将for rows.Next()块移到if !rows.Next()块之上,它会按预期工作。那么当你调用Next()时你需要做什么来重新读取查询?提前谢谢。

1 个答案:

答案 0 :(得分:0)

你可能想要这样的东西:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img name="track1" src="content/img/01.jpg" width="180" height="180"   border="0" id="track1" alt="" />
<div id="1">&nbsp;</div>