<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 連接到數據庫 GORM 官方支持的數據庫類型有: MySQL, PostgreSQL, SQlite, SQL Server ## MySQL ```go import ( "gorm.io/driver/mysql" "gorm.io/gorm" ) func main() { // 參考 https://github.com/go-sql-driver/mysql#dsn-data-source-name 獲取詳情 dsn := "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local" db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) } ``` **注意:** 想要 Gorm 正確的處理 `time.Time` ,您需要帶上 `parseTime` 參數。 ([查看更多參數](https://github.com/go-sql-driver/mysql#parameters)) 想要支持完整的 UTF-8 編碼,您需要將 `charset=utf8` 更改為 `charset=utf8mb4`。 查看 [此文章](https://mathiasbynens.be/notes/mysql-utf8mb4) 獲取詳情 MySQl 驅動程序提供了 [一些高級配置](https://github.com/go-gorm/mysql) 可以在初始化過程中使用,例如: ``` db, err := gorm.Open(mysql.New(mysql.Config{ DSN: "gorm:gorm@tcp(127.0.0.1:3306)/gorm?charset=utf8&parseTime=True&loc=Local", // DSN data source name DefaultStringSize: 256, // string 類型字段的默認長度 DisableDatetimePrecision: true, // 禁用 datetime 精度,MySQL 5.6 之前的數據庫不支持 DontSupportRenameIndex: true, // 重命名索引時采用刪除并新建的方式,MySQL 5.7 之前的數據庫和 MariaDB 不支持重命名索引 DontSupportRenameColumn: true, // 用 `change` 重命名列,MySQL 8 之前的數據庫和 MariaDB 不支持重命名列 SkipInitializeWithVersion: false, // 根據版本自動配置 }), &gorm.Config{}) ``` ## PostgreSQL ```go import ( "gorm.io/driver/postgres" "gorm.io/gorm" ) dsn := "user=gorm password=gorm dbname=gorm port=9920 sslmode=disable TimeZone=Asia/Shanghai" db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{}) ``` 我們使用 [pgx](https://github.com/jackc/pgx) 作為 postgres 的 database/sql 驅動器,默認情況下,它會啟用 prepared statement 緩存,你可以這樣禁用它: ```go // https://github.com/go-gorm/postgres db, err := gorm.Open(postgres.New(postgres.Config{ DSN: "user=gorm password=gorm dbname=gorm port=9920 sslmode=disable TimeZone=Asia/Shanghai", PreferSimpleProtocol: true, // 禁用隱式 prepared statement }), &gorm.Config{}) ``` ## SQLite ```go import ( "gorm.io/driver/sqlite" "gorm.io/gorm" ) // github.com/mattn/go-sqlite3 db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{}) ``` **注意:** 您也可以使用 `file::memory:?cache=shared` 替代文件路徑。 這會告訴 SQLite 在系統內存中使用一個臨時數據庫。 (查看 [SQLite 文檔](https://www.sqlite.org/inmemorydb.html) 獲取詳情) ## SQL Server ```go import ( "gorm.io/driver/sqlserver" "gorm.io/gorm" ) // github.com/denisenkom/go-mssqldb dsn := "sqlserver://gorm:LoremIpsum86@localhost:9930?database=gorm" db, err := gorm.Open(sqlserver.Open(dsn), &gorm.Config{}) ``` Microsoft 為 GO (GORM) 使用 SQL Server 提供了 [一份指南](https://sqlchoice.azurewebsites.net/en-us/sql-server/developer-get-started/) ## 連接池 GORM 使用 [database/sql](https://pkg.go.dev/database/sql) 來維護連接池 ``` sqlDB, err := db.DB() // SetMaxIdleConns 設置空閑連接池中連接的最大數量 sqlDB.SetMaxIgleConns(10) // SetMaxOpenConns 設置打開數據庫連接的最大數量 sqlDB.SetMaxOpenConns(100) // SetConnMaxLifetime 設置了連接可復用的最大時間 sqlDB.SetConnMaxLifetime(time.Hour) ``` 查看 [通用接口](../教程/generic_interface.md) 獲取詳情。 ## 不支持的數據庫 有些數據庫可能兼容 `mysql`、`postgres` 的方言,在這種情況下,你可以直接使用這些數據庫的方言。 對于其它不支持的數據,[我們鼓勵且歡迎大家伙開發更多數據庫類型的驅動!](../高級/write_driver.md)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看