带有 Korma 的原始 SQL 插入



我想用Korma执行以下原始SQL:

k/exec-raw
 ["INSERT INTO events ?, VALUES ? ON CONFLICT (id) DO UPDATE SET title = EXCLUDED.title;" [keys values]]

参数等于:

keys (str "(" (keys->str res) ")")
values (str "(" (serialize (merge res) ", ") ")" )

两者都计算以更正字符串并在 repl 中工作。

但是在运行时,我在 psql 控制台中出现以下错误:

ERROR:  syntax error at or near "$1" at character 20
STATEMENT:  INSERT INTO events $1, VALUES $2 ON CONFLICT (id) DO UPDATE SET title = EXCLUDED.title

无法弄清楚问题出在哪里。有人曾经和科尔马做过插入吗?

PostgreSQL 9.5 + Korma 0.4.2

只有值可以用作预准备语句中的参数。因此,要使其工作:

INSERT INTO events (column) VALUES (?)

如果你想像你一样工作,你必须自己准备sql字符串,并确保你没有sql注入。请参阅手册

相关内容

  • 没有找到相关文章

最新更新