У меня есть следующая таблица:Вставка в таблицу Postgresql с Go
CREATE TABLE Users (
user_id BIGSERIAL PRIMARY KEY,
email VARCHAR(50) NOT NULL,
password_hash VARCHAR(100) NOT NULL,
points INT DEFAULT 0,
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
)
Я беру в электронную почту и пароль, шифровать пароль и попытаться вставить их в таблицу:
import (
_ "github.com/lib/pq"
"database/sql"
"code.google.com/p/go.crypto/bcrypt"
)
conn := OpenConnection()
defer conn.Close()
email := r.FormValue("email")
password, _ := bcrypt.GenerateFromPassword([]byte(r.FormValue("password")), bcrypt.DefaultCost)
res, err := conn.Exec("INSERT INTO users (email, password_hash) VALUES (?, ?)", email, password)
http.Redirect(w, r, "/", http.StatusFound)
Вставка выбрасывает pq: P:"51" S:"ERROR" L:"1002" C:"42601" M:"syntax error at or near \",\"" F:"scan.l" R:"scanner_yyerror"
. Такая же ошибка возникает, если я заменю пароль байтового типа простой строкой.
Что я делаю неправильно?
Это может помочь: https://github.com/lib/pq/issues/65 –
@IanKenney, ну это глупо, но, кажется, быть проблемой. благодаря –