Как записать данные из переменной в SQLite?
Я создал базу данных note.db и хочу записать в качестве данных строки из переменных. Но как мне это сделать?
import (
"database/sql"
"fmt"
_ "github.com/mattn/go-sqlite3"
)
func main() {
Date := "12.12.2003"
Title := "Поездка"
Body := "Мы должны съездить на природу"
db, err := sql.Open("sqlite3", "note.db")
defer db.Close()
_, err = db.Exec("INSERT INTO note VALUES(Date,Title,Body);") // очевидно это так не работает
}
Ответы (2 шт):
Автор решения: Slawka
→ Ссылка
Ответ на первый вариант вашего вопроса, Но так не правильно
"INSERT INTO note VALUES('"+Date+"','"+Title+"','"+Body+"');";
Используйте
"INSERT INTO note VALUES(?1, ?2, ?3);", Date, Title, Body
Автор решения: Ainar-G
→ Ссылка
Используйте параметры:
_, err = db.Exec(`INSERT INTO note VALUES(?1, ?2, ?3);`, Date, Title, Body)
Ни в коем случае не стройте
SQL-запросы так, как предлагает другой ответ. Это явный
пример
SQL-инъекции,
и такого кода нигде быть не должно, особенно
в 2020 году.