【发布时间】:2020-09-14 22:21:19
【问题描述】:
如何在 golang 上使用 sql.DB 正确创建准备语句?
type Repository struct {
db *sql.DB
}
func NewRepository(db *sql.DB) {
return Repository{db: db}
}
func (r Repository) Create() {
stmt, err := r.db.Prepare("INSERT INTO mytable(age) VALUES(?)")
if err != nil {
log.Fatal(err.Error()) // "pq: syntax error at or near \")\""
}
}
我看不到语法错误,我什至尝试复制“自动查询”
【问题讨论】:
-
也许你需要在表名后面加一个空格?
-
@BurakSerdar 尝试使用空格但不起作用(同样的错误),我也尝试删除列定义...
-
占位符语法可能因数据库/驱动程序而异,请尝试
VALUES ($1)。
标签: go