当前位置: > > > > 如何删除go-sqlite3中的行
如何删除go-sqlite3中的行
来源:stackoverflow
2024-04-21 23:39:35
0浏览
收藏
一分耕耘,一分收获!既然都打开这篇《如何删除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的相关知识,请关注米云公众号!
