gpt4 book ai didi

mysql - Golang 使用 JOIN 查询多个数据库

转载 作者:IT王子 更新时间:2023-10-29 02:17:57 25 4
gpt4 key购买 nike

使用下面的 golang 示例,我如何查询 (JOIN) 多个数据库。例如,我想要关系 db1.username.id = db2.comments.username_id

id := 123
var username string

err := db.QueryRow("SELECT username FROM users WHERE id=?", id).Scan(&username)

switch {
case err == sql.ErrNoRows:
log.Printf("No user with that ID.")

case err != nil:
log.Fatal(err)

default:
fmt.Printf("Username is %s\n", username)
}

最佳答案

当您使用 MySQL 时,您可以跨数据库选择字段。参见 this related question为了细节。例如,您应该能够这样做:

err := db.QueryRow(`
SELECT
db1.users.username
FROM
db1.users
JOIN
db2.comments
ON db1.users.id = db2.comments.username_id
`).Scan(&username)

您当然可以使用第二个数据库连接从 db2.comments 中简单地获取所有条目,并在对 db1.users 的查询中使用这些值。当然,不推荐这样做,因为它是数据库服务器的工作,它很可能比您做得更好。

关于mysql - Golang 使用 JOIN 查询多个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19012720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com