我正在建立一个数据库,构建一个自定义的 Upsert,因为 Postgresql 显然还没有。反正我的参数打得不好。
我正在使用马提尼酒。
这段代码:
func CreateBook(ren render.Render, r *http.Request, db *sql.DB) {
_, err := db.Query("INSERT INTO books (title, first, last, class) SELECT $1, $2, $3, $4 WHERE NOT EXISTS (SELECT * FROM books WHERE title = $1)",
r.FormValue("title"),
r.FormValue("first"),
r.FormValue("last"),
r.FormValue("class"))
PanicIf(err)
引发此错误:
pq: inconsistent types deduced for parameter $1
我相当肯定这是第二个 $1 的某种类型转换问题,但所有合理的解决方案似乎都没有意义。
这是一个愚蠢的问题,希望有一个简单的答案,但我无法在其他任何地方找到任何答案。