JavaDB: É possível alterar compensado na mesa existente auto-incremento?

votos
1

É possível alterar o deslocamento em uma tabela pré-existente com JavaDB auto-incremento?

Estou tendo um problema onde inserir novos registros geralmente (mas nem sempre) falha com um erro reclamando sobre o uso de uma chave existente (minha coluna auto-incremento). Para preencher esse banco de dados, tomei um despejo de outro banco de dados (MySQL) e utilizado um procedimento armazenado JavaDB para inseri-los todos para a mesa JavaDB correspondente. Minha teoria é que a inserção desses registros copiados os IDs existentes da tabela MySQL. Agora, a funcionalidade de auto-incremento está servindo IDs existentes. I figura explicitamente definindo o deslocamento para algum número alto permitirá que o auto-incremento para trabalhar novamente.

Publicado 09/12/2008 em 22:47
fonte usuário
Em outras línguas...                            


2 respostas

votos
1

Mesmo que isso não é uma resposta direta à pergunta: Com o MySQL, você pode fazer uma

ALTER TABLE my_little_table AUTO_INCREMENT =2000

para definir o valor de incremento automático.

Respondeu 19/11/2010 em 14:18
fonte usuário

votos
0

Eu não sei como alterar diretamente o deslocamento, mas eu consegui corrigir isto:

  1. Alterar a quantidade de incremento por X (1 milhão no meu caso).
  2. Inserindo um registro fictício.
  3. Reduzindo a quantidade de incremento de volta para baixo para 1.
  4. Excluindo o registro fictício.

Eu usei esta instrução SQL para alterar a quantidade de incremento:

ALTER TABLE tbl ALTER COLUMN col SET INCREMENT BY x
Respondeu 09/12/2008 em 23:42
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more