登录
首页 >  Golang >  Go问答

如何删除go-sqlite3中的行

来源:stackoverflow

时间:2024-04-21 23:39:35 289浏览 收藏

一分耕耘,一分收获!既然都打开这篇《如何删除go-sqlite3中的行》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

我使用下面的代码在表中添加两行

package main

import (
    "database/sql"
    "fmt"
    "log"
    "strconv"

    _ "github.com/mattn/go-sqlite3"
)

func main() {
    database, _ := sql.open("sqlite3", "./nraboy.db")
    statement, _ := database.prepare("create table if not exists people (id integer primary key, firstname text, lastname text)")
    statement.exec()
    statement, _ = database.prepare("insert into people (firstname, lastname) values (?, ?)")
    statement.exec("nic", "raboy")
    statement, _ = database.prepare("insert into people (firstname, lastname) values (?, ?)")
    statement.exec("tom", "hardy")
    _, err := statement.exec("delete from people where id = 1")
    if err != nil {
        log.fatal(err)
    }
    rows, _ := database.query("select id, firstname, lastname from people")
    var id int
    var firstname string
    var lastname string
    for rows.next() {
        rows.scan(&id, &firstname, &lastname)
        fmt.println(strconv.itoa(id) + ": " + firstname + " " + lastname)
    }
}

但是当我添加 _, err := statements.exec("delete from people where id = 1") 来删除其中一行时,出现以下错误:

2021/07/09 16:21:07 sql: expected 2 arguments, got 1
exit status 1

如何删除表中的行?


正确答案


看起来您忘记调用 statement, _ = database.Prepare("delete from people where id = 1") 来执行删除命令。当您调用 statement.Exec("delete from people where id = 1") 时,之前准备的语句仍然有效,并且需要两个参数(名字、姓氏)。

本篇关于《如何删除go-sqlite3中的行》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>