在单个查询中使用 pg 和 express.js 从 postgres table 中的输入更新多个列

Update multiple columns from input in postgres table using pg and express.js in a single query

我有一个包含 table 事件的 postgres 数据库。我希望用户能够通过输入更新此 table 的任何一列或多列。以下代码的问题在于,当用户更新时,例如,列 wedding_name 而其他人没有收到任何值,我的行在收到新值的列上成功更新。然而,其余的列会变空,因为它们没有收到输入。所以我希望能够在不影响未触及的列的情况下更新一个列,如果可能的话。 谢谢。

modifyEvent:async(req, res)=>{
        try {
           const eventId= req.params.eventId 
           const {weddingName,groom,bride,location,date,}=req.body
           const updatedEvent=pool.query('UPDATE events SET wedding_name=,bride_name=,groom_name=,wedding_location=,wedding_date= WHERE wedding_id=',[
               weddingName,bride,groom,location,date,eventId
           ])
           res.json(updatedEvent)
        } 
        catch (error) {
            console.log(error.message)
        }
    }

您可以尝试这样的操作:

const updatedEvent=pool.query('UPDATE events SET wedding_name=COALESCE(, wedding_name), bride_name=COALESCE(, bride_name), groom_name=COALESCE(, groom_name), wedding_location=COALESCE(, wedding_location), wedding_date=COALESCE(, wedding_date) WHERE wedding_id=',[weddingName,bride,groom,location,date,eventId])