Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

274
Visualizações
¿Cómo actualizar solo una columna y evitar valores NULL para otros en node-postgres?

En este momento, en mi API, si solo quiero actualizar un valor como email , otros valores se vuelven NULL y también tengo que volver a escribir todo lo demás solo para actualizar una cosa.

El objeto JSON es este:

 { "username": "batman" }

Este será el resultado:

 { "message": "User Updated Successfully!", "user": { "user_id": 44, "name": null, "username": "batman", "email": null, "phone": null, "website": null } }

Entonces, esto me obliga a escribir todo el objeto JSON para que otros valores no se actualicen a NULL:

 { "name": "batman", "username": "batman", "email": "batman@cave.com", "phone": "0123456789", "website": "batman.com" }

Esta es la función de devolución de llamada para la solicitud PUT :

 const updateUser = async (req, res) => { const id = parseInt(req.params.id); const { name, username, email, phone, website } = req.body; try { const update = await db.query("UPDATE users SET name = $1, username = $2, email = $3, phone = $4, website = $5 WHERE user_id = $6 RETURNING *", [ name, username, email, phone, website, id, ]); res .status(200) .json({ message: "User Updated Successfully!", user: update.rows[0] }); } catch (err) { console.error(err); res.status(500).json({ message: "Something Went Wrong!" }); } };

¿Hay alguna forma de actualizar solo un valor sin que los demás se actualicen a NULL?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Logré resolver mi problema siguiendo las instrucciones de este artículo:

Actualización condicional en PostgreSQL

 UPDATE users SET name = COALESCE (NULLIF($1, ''), name), username = COALESCE (NULLIF($2, ''), username), email = COALESCE (NULLIF($3, ''), email), phone = COALESCE (NULLIF($4, ''), phone), website = COALESCE (NULLIF($5, ''), website) WHERE user_id = $6 RETURNING *;
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda