if(data.Details){
db.query('UPDATE Details SET fullName = $2,address= $3,phone = $4 WHERE user_id = $1 RETURNING *', [query, data.Details.fullName, data.Details.address, data.Details.phone],function(err,details) {
if (err) return callback(new Error('error'));
})
}else{
db.query('INSERT INTO Details(user_id,fullName,address,phone) VALUES($1,$2,$3,$4) RETURNING *', [query, data.Details.fullName, data.Details.address, data.Details.phone],function(err,details) {
if (err) return callback(new Error('error'));
})
}
答案 0 :(得分:1)
如果你想获得幻想,你也可以在Postgres 9.5及更高版本中使用UPSERT/ON CONFLICT。
为这个确切的用例设计,并作为单个"指令"执行,而不是必须执行查询检查是否存在某些内容,另一个更新或者在交易中插入。