What is the error in the last row of UPDATE usage in the MySQL language?

0

I developed a final project without error, done in Java, but I still only have a UPDATE error in the last line of the database creation clientes of the database in the MySQL language. I am asking to update the data.

public void atualizaCliente(Cliente clienteEditado, String referencia){
            classeDriver = "org.gjt.mm.mysql.Driver";
            stringConexao = "jdbc:mysql://localhost:3307/biblioteca_database";
            login = "root";
            senha = "usbw";
            conn=null;
            sql = "SELECT * FROM clientes";

            try
            {
                Class.forName(classeDriver);
                conn = DriverManager.getConnection(stringConexao, login, senha);
                PreparedStatement stmt = conn.prepareStatement(sql);

                int x=stmt.executeUpdate("UPDATE clientes SET nome='"+clienteEditado.getNome()+"'," +
                        "end='"+clienteEditado.getEnd()+"', num='"+clienteEditado.getNum()+"'," +
                        "bairro='"+clienteEditado.getBairro()+"', cidade='"+clienteEditado.getCidade()+"'," +
                        "cpf='"+clienteEditado.getCpf()+"', tel='"+clienteEditado.getTel()+"'," +
                        "nasc='"+clienteEditado.getNasc()+"' WHERE nome='"+referencia+"';");

                if ( x == 1 )
                    JOptionPane.showMessageDialog(null,"Cadastro atualizado com sucesso!","",JOptionPane.WARNING_MESSAGE);
            }
            catch(SQLException e)
            {
              JOptionPane.showMessageDialog(null,"Não foi possível conectar ao banco de dados","",JOptionPane.WARNING_MESSAGE);
            }
            catch(ClassNotFoundException e)
            {
                JOptionPane.showMessageDialog(null,"O drive de conexão informado não encontrado","",JOptionPane.WARNING_MESSAGE);
            }
        }

And in the database:

CREATE TABLE 'clientes' (
  'nome' TEXT COLLATE utf8_bin NOT NULL,
  'end' TEXT COLLATE utf8_bin NOT NULL,
  'num' INT(4) NOT NULL,
  'bairro' TEXT COLLATE utf8_bin NOT NULL,
  'cidade' TEXT COLLATE utf8_bin NOT NULL,
  'cpf' INT(11) NOT NULL,
  'tel' INT(8) NOT NULL,
  'nasc' INT(10) NOT NULL
);

insert into clientes values ('', '','', '', '', '', '', '');

SELECT * FROM clientes;
SELECT * FROM clientes WHERE nome;
DELETE from clientes WHERE nome;
UPDATE clientes SET nome;

On the last line, you gave an error, according to the MySQL Workbench.

    
asked by anonymous 20.06.2016 / 18:16

1 answer

0

You need to terminate the UPDATE command.

 UPDATE clientes SET nome = 'um nome qualquer',
                        end = 'endereco',
                        num = 581,
                        bairro = 'bairro',
                        cidade = 'cidade',
                        cpf = '12.235.145-40',
                        tel = '123.456',
                        nasc = '25/12/2016' 

Your customer table needs an ID as well. And your command would look like this:

 UPDATE clientes SET nome = 'um nome qualquer',
                        end = 'endereco',
                        num = 581,
                        bairro = 'bairro',
                        cidade = 'cidade',
                        cpf = '12.235.145-40',
                        tel = '123.456',
                        nasc = '25/12/2016' 
  WHERE ID = idcorrente;
    
20.06.2016 / 18:21