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)

最佳答案

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

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)

关于go - 如何逃避s虫,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58137433/

10-11 19:37