ianlancetaylor / go-sqlite3

sqlite3 driver for go that using database/sql

Home Page:http://mattn.github.io/go-sqlite3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Build Status Coverage Status GoDoc


sqlite3 driver conforming to the built-in database/sql interface


This package can be installed with the go get command:

go get github.com/mattn/go-sqlite3

go-sqlite3 is cgo package. If you want to build your app using go-sqlite3, you need gcc. However, if you install go-sqlite3 with go install github.com/mattn/go-sqlite3, you don't need gcc to build your app anymore.


API documentation can be found here: http://godoc.org/github.com/mattn/go-sqlite3

Examples can be found under the ./_example directory


  • Want to build go-sqlite3 with libsqlite3 on my linux.

    Use go build --tags "libsqlite3 linux"

  • Want to build go-sqlite3 with icu extension.

    Use go build --tags "icu"

  • Can't build go-sqlite3 on windows 64bit.

    Probably, you are using go 1.0, go1.0 has a problem when it comes to compiling/linking on windows 64bit. See: mattn#27

  • Getting insert error while query is opened.

    You can pass some arguments into the connection string, for example, a URI. See: mattn#39

  • Do you want cross compiling? mingw on Linux or Mac?

    See: mattn#106 See also: http://www.limitlessfx.com/cross-compile-golang-app-for-windows-from-linux.html

  • Want to get time.Time with current locale

    Use loc=auto in SQLite3 filename schema like file:foo.db?loc=auto.


MIT: http://mattn.mit-license.org/2012

sqlite3-binding.c, sqlite3-binding.h, sqlite3ext.h

The -binding suffix was added to avoid build failures under gccgo.

In this repository, those files are amalgamation code that copied from SQLite3. The license of those codes are depend on the license of SQLite3.


Yasuhiro Matsumoto (a.k.a mattn)

ezoic increase your site revenue


sqlite3 driver for go that using database/sql


License:MIT License


Language:C 92.2%Language:C++ 6.3%Language:Go 1.5%Language:Makefile 0.0%