繁体   English   中英

在sql中使用OUTPUT返回插入的行JAVASCRIPT / NODEJS / PG

[英]Using OUTPUT in sql to return the inserted row JAVASCRIPT/NODEJS/PG

最终,如果我的查询成功插入,我将尝试调用回调函数。 我当时正在考虑尝试获取插入的行作为结果,然后测试结果是否存在以及是否与插入的值匹配,然后就成功了->调用我的cb函数。 我收到错误消息,查询有问题。 有更好的查询吗?

  var username = user.username;
  var password = user.password;
  var email = user.email;
  client.query(
    'INSERT INTO account (username, password, email) OUTPUT 
     INSERTED.username VALUES($1, $2, $3)',
    [username, password, email], (err, res) =>{
      if (err) {
        console.log(err);
        cb(err);
      }
      console.log(res); // this is undefined how do i test if it was inserted?
      client.end();
    });

引发的错误是“ \\\\ OUTPUT \\处或附近的语法错误”

这对于Postgres Insert返回值是无效的语法。 没有输出之类的东西。 尝试

insert into account (username, password, email)  
     values($1, $2, $3) returning username;

但是真的为什么是兄弟? 如果插入不起作用,您可以在Postgres上中继以引发异常; 如果返回值的比较失败,那么错误在哪里? 在插入或发送的数据,或数据结果进行比较。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM