如何在GO MYSQL中使用许多类似的参数构造一个sql?

时间:2016-09-08 02:41:36

标签: mysql go

我目前正在使用GO MySQL,我有一个案例,其中sql包含许多类似的参数。

stmt, err := db.Prepare(`
    SELECT id
    FROM questions
    WHERE description like '%?%'
    UNION
    SELECT id
    FROM books
    WHERE description like '%?%'
    UNION
    SELECT id
    FROM sites
    WHERE description like '%?%'`)

param := "golang"
stmt.Query(param, param, param)

我的真实生活sql有大约10个类似的golang参数和第二个参数,它重复几次。位置参数是构造sql的唯一方法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用点差运算符:

args := make([]string, 0)
for i := 0; i < 10; i++ {
    args = append(args, "param")
}

q.Query(args...)

更多行代码,但至少你不必一直按Ctrl + C / Ctrl + V。