Excluir registro - MySQL

4 respostas
peerless

Galera, tenho um banco teste, neste contem um campo CÓDIGO auto incrementável de chave primária…

fiz todo um sistema em cima dele, mas agora que fui programar o botão EXCLUIR… vi que tem um bug fatal…

por ex:

tenho 3 registros 1 2 3
se eu apagar o 2, sobra 1 e 3 … MAS meu banco não pode ter falhas na sequencia… :frowning:

como posso resolver isso?
Muito obrigado …

Estou fazendo assim:

public void excluir() { // st.execute("delete from autentica where usuario='"+jComboBox1.getSelectedItem()+"'"); String sql="delete from AREA where codigo ="+JTcodigo.getText(); try { st.execute(sql); JLmsg.setText("Registro Excluído com Sucesso"); } catch (Exception e) { } this.limpar(); }

4 Respostas

peerless

Bom, ja RESOLVERIA meu problema… se alguém me der uma luz de qual é o RS que retorna o ULTIMO e o PRIMEIRO registro gravado na tabela… :smiley:

rodrigo_gomes

Olá,

Bom, se você garantir que eles sempre serão inseridos em sequencia, você pode fazer uma pesquisa ordenando pelo codigo, e pegar o primeiro e o ultimo registro.

O primeiro vc já pega quando você da um rs.netx(). O ultimo se o seu driver suportar e você passar alguns parametros na hora de criar o seu statement você pega com o método last() do resultset.

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/ResultSet.html

[]´s

maquiavelbona

peerless:

tenho 3 registros 1 2 3
se eu apagar o 2, sobra 1 e 3 … MAS meu banco não pode ter falhas na sequencia… :frowning:

Sinto lhe dizer, mas não há jeito. Auto-increment, sequences, serial… pressupõe-se que os identificadores são ÚNICOS e EXCLUSIVOS. Realocar os identificadores além de ser uma péssima escolha, se tiver um DBA ao seu lado, ele vai te esganar. Se quiser fazer algo do tipo, vai ter que fazer a construção na mão e esqueça o auto-increment.

Editado:

Quer ainda realocar uma chave primária. :shock:

Até!

peerless

maquiavelbona, Sim amigo, realmente a principio escrevi sem pensar nas consequencias, somente no programa funcionando. Mas ja mudei minha opinião, e duvida também…

valeu!

Criado 23 de fevereiro de 2007
Ultima resposta 23 de fev. de 2007
Respostas 4
Participantes 3