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

erro na aula 5 - Atualizando e deletando um per - Copia

Seguindo a aula, obtive o erro:

"message": "ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT * FROM Clientes WHERE id =1' at line 1",

codigo da pet.js:

atualiza(novoItem) {
    const { id, nome, donoId, tipo, observacoes } = novoItem

    const sql = `UPDATE Pets SET nome='${nome}', donoId=${donoId}, tipo='${tipo}', observacoes='${observacoes}' WHERE id=${id}; SELECT * FROM Clientes WHERE id =${donoId}`

    return executaQuery(sql).then((dados) => {
      console.log(dados)
      const dono = dados[1][0]
      return ({...novoItem, dono      
      })
    })
  }

código da schema.graphql:


type Mutation {
    adicionarCliente(nome: String!, cpf: String!): Cliente!
    atualizarCliente(id: ID!, nome: String!, cpf: String! ): Cliente!
    deletarCliente(id: ID!): ID!
    adicionarPet(nome: String!, donoId: Int!, tipo: String, observacoes: String): Pet!
    atualizarPet(id: ID!, nome: String!, donoId: Int!, tipo: String, observacoes: String ): Pet!
}

código da server.js:

Mutation: {
    adicionarCliente: (root, params) => Clientes.adiciona(params) ,
    atualizarCliente: (root, params) => Clientes.atualiza(params),
    deletarCliente: (root, { id }) => Clientes.deleta(id),
    adicionarPet: (root, params) => Pets.adiciona(params),
    atualizarPet: (root, params) => Pets.atualiza(params)
  }

Individualmente, os sql (de update e select) funcionam, mas quando junta, dá esse erro, que não me permite ter a mesma solução da instrutora. Pq isso? Como fazer para resolver? Obrigado.

1 resposta
solução!

A solução veio no video seguinte: dentro do arquivo conexao.js, precisa colocar multipleStatements: true

const conexao = mysql.createConnection({
  host: 'localhost',
  port: 3306,
user: 'root', 
database: 'agenda-petshop',
  multipleStatements: true
})

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