当前位置: > > > > 如何删除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的相关知识,请关注公众号!