1
resposta

Diferença entre ? e ${id}

const sql = UPDATE Atendimentos SET ? WHERE id = ${id}

const sql = UPDATE Atendimentos SET ? WHERE id = ?

Existe diferença em utilizar ? e ${id} nesse caso?

1 resposta

Olá, Lucas! Tudo bem? Desculpe a demora!

Essencialmente não. Os resultados serão iguais, contanto que no segundo caso você passe o ID nos parâmetros da query:

altera(id, valores, res) {
    const sql = 'UPDATE Atendimentos SET ? WHERE id=?'

    conexao.query(sql, [valores, id], (erro, resultados) => { 
        if(erro) {
            res.status(400).json(erro)
        } else {
            res.status(200).json(resultados)
    )
} 

Mas, quando escrevemos queries SQL assim, na mão, e queremos inserir variáveis, a melhor abordagem é usar o ? ao invés de passarmos com ${}, pois assim garantimos que o próprio método query irá tratar os dados.

Beleza? Espero ter ajudado e bons estudos!