Пример удобной библиотеки для генерации SQL кода в Golang. Нет необходимости писать большие и сложные sprintf и делать экранирование вручную. Просто воспользуемся удобными синтаксисом библиотеки squirrel.
Для начала:
1 |
import "github.com/Masterminds/squirrel" |
Теперь допустим нам нужно добавить новую запись в нашу postgres табличку.
Для начала важно указать корректный placholder формат, без этого Postgres будет выдавать ошибку на сгенерированный SQL:
1 |
psql := sq.StatementBuilder.PlaceholderFormat(sq.Dollar) |
Теперь напишем SQL запрос и отправим его на выполнение:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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 } |