Пример удобной библиотеки для генерации SQL кода в Golang. Нет необходимости писать большие и сложные sprintf и делать экранирование вручную. Просто воспользуемся удобными синтаксисом библиотеки squirrel.
Для начала:
import "github.com/Masterminds/squirrel"
Теперь допустим нам нужно добавить новую запись в нашу postgres табличку.
Для начала важно указать корректный placholder формат, без этого Postgres будет выдавать ошибку на сгенерированный SQL:
psql := sq.StatementBuilder.PlaceholderFormat(sq.Dollar)
Теперь напишем SQL запрос и отправим его на выполнение:
sql, args, _ := psql.
Insert("reports").
Columns("column1", "column2", "column3").
Values(
"value1",
"value2",
"value3").
ToSql()
_, err := m.db.Exec(sql, args...)
if err != nil {
return err
}