猿问

如何删除 go-sqlite3 中的行

我使用以下代码在表格中添加两行


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 := statement.Exec("delete from people where id = 1")


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

exit status 1

如何删除表中的行?


鸿蒙传说
浏览 110回答 1
1回答

暮色呼如

我使用以下代码在表格中添加两行package mainimport (    "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 := statement.Exec("delete from people where id = 1")2021/07/09 16:21:07 sql: expected 2 arguments, got 1exit status 1如何删除表中的行?
随时随地看视频慕课网APP

相关分类

Go
我要回答