2016-09-08 1 views
0

Ich verwende derzeit GO MySQL und ich habe einen Fall, wo die SQL enthält viele ähnliche Parameter.Wie konstruiere ich einen SQL in GO MYSQL mit vielen ähnlichen Parametern?

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) 

Mein wahres Leben SQL hat etwa 10 ähnliche Parameter von golang und einen zweiten Parameter, der sich ein paar Mal wiederholt. Ist der Positionsparameter der einzige Weg, den SQL zu erstellen?

Antwort

0

können Sie die Ausbreitung Operator:

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

q.Query(args...) 

Weitere Codezeilen, aber zumindest haben Sie nicht auf Strg + C/Strg + V die ganze Zeit.

Verwandte Themen