簡體   English   中英

Golang使用JOIN查詢多個數據庫

[英]Golang query multiple databases with a JOIN

使用下面的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時,您可以跨數據庫選擇字段。 有關詳細信息,請參見此相關問題 例如,您應該能夠執行以下操作:

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的值。 當然,不建議這樣做,因為這是數據庫服務器的工作,它很可能比您做得更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM