在 sql 中使用 OUTPUT 到 return 插入的行 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(, , )',
    [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();
    });

抛出的错误是"syntax error at or near \"OUTPUT\"

Postgres Insert 到 return 值的语法无效。没有输出这样的东西。尝试

insert into account (username, password, email)  
     values(, , ) returning username;

可是哥真的为什么?如果插入不起作用,您可以转达 Postgres 以引发异常;如果 returned 值的比较失败,错误在哪里?在插入或发送的数据,或数据结果进行比较。