mysql - 如何在Golang中使用GORM在数据库之间切换?

标签 mysql database go go-gorm

我刚接触golang中的GORM。我陷入了困境。通常,我们选择数据库如下:
DBGorm,错误= gorm.Open(“mysql”,用户:password @ tcp(host:port)/ db_name)
但是我的问题是我将在请求中获得“db_name”,这意味着我不知道哪个db_name可能会出现,因此我将不得不根据该db_name进行查询。
因此,现在,我将在init函数中创建数据库指针,如下所示:
DBGorm,错误= gorm.Open(“mysql”,user:password @ tcp(host:port)/),它没有db_name。
现在,我将如何切换到请求的db_name。因为当我尝试执行DBGorm.Create(&con)时,它显示没有选择数据库
如果我使用“数据库/ SQL”,则可以进行如下原始查询:“SELECT * FROM db_name.table_name”,这可以解决我的问题。但是如何在gorm中做到这一点?

最佳答案

在表上执行查询或其他操作时,可以使用db_name显式指定table_name.Table()

DBGorm.Table("db_name.table_name").Create(&con)

关于mysql - 如何在Golang中使用GORM在数据库之间切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63110515/

相关文章:

mysql - 我是否应该在正在运行的 Drupal 7 站点上将非 utf-8 数据库 (mysql)(默认?)更改为 utf-8?

c# - 从 INNER JOINED 表中检索列数据?

mysql - 这个模式有什么不好的地方?

php - 电子邮件确认后如何将用户添加到数据库?

pointers - 需要帮助通过 'reflect: NumField of non-struct type'

mysql连接和插入语句

php - 尝试让订单总数显示在 Woocommerce 的自定义报告中

javascript - Mongodb - Express,如何正确获取 "id"?它给出一个空的 [Object, Object]

session - 我如何获取 cookie/session 信息以便我可以将其与 API 一起使用?

go - 如何在for循环中使用所有处理器核心?