1

我想询问可能的策略来准备具有以下结构的查询状态:

select TABLE_COLUM from TABLE where OTHER_TABLE_COLUMN = {'$ 1 PARAMETER'},

语言是 Go 和 sqlx 库。

我正在使用具有以下结构的函数:

type Translation struct {
    Translation string
}
type TranslateParams struct {
    Originlanguaje string 
    Wordtotranslate string
    Targetlanguaje string 
}
//TranslateWordUsingDB... TranslateWordUsingDB search one word translation in DB
func ObtainTranslationUsingDB(validationforuse bool,originlang string, word string, targetlang string)([]Translation, error){
    translation := []Translation{}
    if validationforuse == true{
        fmt.Println("preparing....")
        params := TranslateParams{
            Originlanguaje  : originlang,
            Wordtotranslate : word,
            Targetlanguaje  : targetlang,
        }
        nstmt, err := db.Conn.PrepareNamed(`select :targetlanguaje as translation from translations where :originlanguaje = :wordtotranslate`)
        if err != nil{
            return translation, err
        }
        fmt.Println("prepared")
        error := nstmt.Select(&translation, params)
        if error != nil {
            return translation, error
        }
        fmt.Println(translation)
    }
    return translation, nil
}

但这不起作用,我没有管理https://jmoiron.github.io/sqlx/#namedParams的方法, 因为它们将 TABLE_COLUMN 替换为“TABLE_COLUMN”,这不允许查询工作。

4

0 回答 0