Skip to content

LastInsertId returning wrong id #30

Closed
@matrixik

Description

@matrixik

Sample code:

package main

import (
    "database/sql"
    "fmt"
    _ "github.com/mattn/go-sqlite3"
    "os"
)

func main() {
    os.Remove("./foo.db")

    db, err := sql.Open("sqlite3", "./foo.db")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer db.Close()

    sql := "create table foo (id integer PRIMARY KEY AUTOINCREMENT NOT NULL, name text)"

    _, err = db.Exec(sql)
    if err != nil {
        fmt.Printf("%q: %s\n", err, sql)
        return
    }

    result, err := db.Exec("insert into foo(name) values(1)")
    if err != nil {
        fmt.Println(err)
        return
    }

    fmt.Println(result.LastInsertId())
    return
}

printing 4294967296 <nil>, should print 1 <nil>.

Can someone else confirm it?

Windows 7 x32, Go 1.0.3, last go-sqlite3.

Best regards

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions