首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Korma的原始SQL插入

使用Korma的原始SQL插入
EN

Stack Overflow用户
提问于 2016-02-13 02:44:22
回答 1查看 419关注 0票数 0

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

代码语言:javascript
复制
k/exec-raw
 ["INSERT INTO events ?, VALUES ? ON CONFLICT (id) DO UPDATE SET title = EXCLUDED.title;" [keys values]]

其中params等于:

代码语言:javascript
复制
keys (str "(" (keys->str res) ")")
values (str "(" (serialize (merge res) ", ") ")" )

这两种方法都会进行求值以纠正字符串,并在repl中工作。

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

代码语言:javascript
复制
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

找不到问题出在哪里。有没有人用Korma做过插入?

PostgreSQL 9.5 + Korma 0.4.2

EN

回答 1

Stack Overflow用户

发布于 2016-02-13 03:50:13

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

代码语言:javascript
复制
INSERT INTO events (column) VALUES (?)

如果您想像这样工作,就必须自己准备sql字符串,并确保没有sql注入。请参阅manual

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35369963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档