• 数据库类型
    • MySQL
    • SQLite
      • 限制
    • PostgreSQL
      • 限制
    • Oracle
      • 限制
    • SQL Server
      • 限制
    • 其他数据库的支持

    数据库类型

    由于go标准库的数据库操作对象采用接口实现,因此提供了非常好的可扩展性和兼容性。

    MySQL

    内置支持,无需额外扩展或第三方包接入,直接可用。依赖的第三方包:https://github.com/go-sql-driver/mysql

    SQLite

    在使用时需要引入第三方包 ( go-sqlite3 ):

    1. _ "github.com/mattn/go-sqlite3"

    限制

    1. 不支持Save/Replace方法

    PostgreSQL

    在使用时需要引入第三方包 (pq ):

    1. _ "github.com/lib/pq"

    限制

    1. 不支持Save/Replace方法

    Oracle

    使用时需导入第三方包 (go-oci8 ):

    1. _ "github.com/mattn/go-oci8"

    限制

    1. 不支持LastInsertId方法
    2. 不支持Save/Replace方法

    SQL Server

    使用时需导入第三方包 (go-mssqldb ):

    1. _ "github.com/denisenkom/go-mssqldb"

    限制

    1. 不支持LastInsertId方法
    2. 不支持Save/Replace方法
    3. 仅支持SQL Server 2005及其后的版本

    其他数据库的支持

    额外接入新的数据库相当方便,可参考源码中关于PostgreSQLSQLiteOracleSQL Server的接入方式。