Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Diferença para passar os parametros da Querys

Durante o curso de Rest com NodeJS a instrutora Juliana, passa duas funções da Classe atendimento (classe 'altera' e classe 'buscaPorId') Porem na classe buscaPorId ela utiliza o seguinte parametro sql: const sql =SELECT * FROM atendimentos WHERE atendimentos.id = ${id} const sql = 'UPDATE Atendimentos SET ? WHERE id=?' Há alguma diferença entre essas duas declarações? Sei que uma e interpolada com acento pois é um texto "formatado", mas no que isso influencia a conexao.query()

conexao.query(sql,(erro, resultados) => {...}) -> SELECT conexao.query(sql, [valores,id], (erro,resultados) => {...}) -> UPDATE

1 resposta
solução!

Não entendi muito bem a pergunta Lucas kk, mas vou tentar explicar o que eu sei.

SELECT * FROM atendimentos WHERE atendimentos.id = ${id}

Essa forma voce vai interpolar e passar diretamente com ${variavel} o valor do where.

SELECT * = selecionar todos ( '*' no sql é todos ) FROM atendimentos = na tabela atendimentos

WHERE : operador de condicao, where seria "que sejam correspondentes a", e ai logo apos voce coloca qual condicao que deve ser atendida.

'UPDATE Atendimentos SET ? WHERE id=?'

Geralmente com esse tipo de query que passa um SET voce vai usar uma funcao passando a query e os dados da query, que vao ser passados como SET pro mysql. Acho que se voce interpolar e passar SET ${novosDados}, o mysql so vai entender se novosDados for um array, por que o SET recebe dados com uma estrutura bem parecida de um array ( nome = valor ), acho que se voce passar um objeto ja nao funciona. Vale a pena testar ai

WHERE ID = ? ( onde o id for (?))

UPDATE ATENDIMENTOS SET ? = na tabela atendimentos atualize os dados (?)

Dessa forma voce vai passar os dados por meio de algum intermediador

SET ? seria os dados que voce vai passar, o update sempre usa SET para passar os dados

WHERE novamente sendo o operador de condicao, ele que vai dizer pra quem que esses dados vao ser passados.

UPDATE seria para atualizar ( trocar os dados existentes por novos )

Espero ter ajudado, tamo junto!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software