小编Sch*_*ler的帖子

不能在准备好的语句中插入多个命令

当我在 PG 管理查询工具中尝试时,此查询对我有用:

UPDATE bankdetails SET bank_details = 'mysore' ,"PAN"= 123,bank_acc = 456,
                       "UAN"=789,tax = 'myy'
WHERE  user_id = 79;
INSERT INTO bankdetails (user_id,bank_details,"PAN",bank_acc,"UAN",tax)
       SELECT 79,'mysore',123,456,789,'myy'
       WHERE NOT EXISTS (SELECT 1 FROM bankdetails WHERE user_id=79);
Run Code Online (Sandbox Code Playgroud)

后来我在我的代码中是这样实现的:

db.query('UPDATE bankdetails SET bank_details = $2 ,"PAN"= $3,bank_acc = $4,"UAN"=$5,tax = $6 WHERE user_id = $1; INSERT INTO bankdetails (user_id,bank_details,"PAN",bank_acc,"UAN",tax) SELECT $1,$2,$3,$4,$5,$6 WHERE NOT EXISTS (SELECT 1 FROM bankdetails WHERE user_id = $1);', [companyuser.rows[0]._id, data.bankDetails.bank_details, data.bankDetails.PAN, data.bankDetails.bank_acc, data.bankDetails.UAN, data.bankDetails.tax],function(err,bank) {

                if (err) return callback(new …
Run Code Online (Sandbox Code Playgroud)

postgresql postgresql-9.6

6
推荐指数
1
解决办法
2万
查看次数

如何计算 PostgreSQL 中的布尔值?

如何计数,postgresql 用户表中公共字段的真假如何我试过这个查询

select 
sum(case when false then 1 else 0 end) as false, 
sum(case when true then 1 else 0 end) as true
from  public.user;
Run Code Online (Sandbox Code Playgroud)

但我没有得到任何价值,如果我从查询中删除 public 那么我将得到正确的计数,只有我的值为 true

table : name|   DOB     | public
values : bb | 20/2/1991/| true

op : true = 1 and false  = 0
Run Code Online (Sandbox Code Playgroud)

但是当我公开为假时,我得到了相同的答案

table : name|   DOB     | public
values : bb | 20/2/1991/| false

op : true = 1 and false  = 0
Run Code Online (Sandbox Code Playgroud)

所以有人请帮我解决这个问题

postgresql postgresql-9.4

5
推荐指数
2
解决办法
8965
查看次数

如何更新记录,否则在 postgresql 中插入记录

如何在同一个查询中执行更新和插入?我需要更新记录,如果它不存在那么它必须执行插入我试过这个

UPDATE bank SET  Address= $2,"PANCard"= $3,"IFSC" = $4  WHERE user_id = $1;
INSERT INTO bank (user_id,bank_details,"PAN",bank_acc,"UAN",tax)
       SELECT  '$2','$3','$4','$5','$6'
       WHERE NOT EXISTS (SELECT * FROM bank WHERE user_id=$1);
Run Code Online (Sandbox Code Playgroud)

但我越来越

{
  "name": "error",
  "length": 123,
  "severity": "ERROR",
  "code": "42601",
  "file": "postgres.c",
  "line": "1274",
  "routine": "exec_parse_message"
}
Run Code Online (Sandbox Code Playgroud)

请在这里帮助我

postgresql postgresql-9.6

3
推荐指数
1
解决办法
2万
查看次数

使用两个不同的 where 条件更新查询

我想设置statusfalse所有行除一人外,应应设置为true。我怎样才能做到这一点?

这是我试过的查询:

UPDATE students set status = false where status = true and 
set status = true where _id = 1;
Run Code Online (Sandbox Code Playgroud)

postgresql update

3
推荐指数
1
解决办法
434
查看次数