一尘不染

如何逃避tick

go

MySQL要求对带有阴影的保留字的表进行打勾。我有一个表Role(表角色),它是一个保留字,但是我已经将查询放在后面的刻度中,因此我可以在多行中写它(这是一个玩具查询,大的查询不能放在一行中)。

我如何摆脱背tick?

这是我的代码:

dbmap := db.InitDb()

var roles []entities.Role
query :=
    ` << Difficult to see with SO's code editor widget, but here is a back tick
SELECT *
FROM `Role` <<< Needs escaping
`  << Difficult to see, but here is a back tick

_, err := dbmap.Select(&roles, query, nil)
if err != nil {
    panic(err)
}

fmt.Println(roles)

阅读 346

收藏
2020-07-02

共1个答案

一尘不染

您不能在反引号内转义反引号,但是您可以执行以下操作:

dbmap := db.InitDb()

var roles []entities.Role
query := `
SELECT *
FROM ` + "`Role`"

_, err := dbmap.Select(&roles, query, nil)
if err != nil {
    panic(err)
}

fmt.Println(roles)
2020-07-02