Fórum Acrescentar campo na chave primaria #40283

20/11/2003

0

Tenho uma table em interbase, cuja chave primaria é o campo ´NOMEALUNO´. Preciso acrescentar também como chave primaria o campo ´CODALUNO´. A tabela já tem dados, e nao posso perde-los.

como fazer ?

obrigado

edeson


Edeson

Edeson

Responder

Posts

20/11/2003

Afarias

Edeson,

veja, o campo NOME não é uma boa escolha para chave primária -- pessoas diferentes podem ter o mesmo nome correto? -- no mais, é algo difícil de se manter controle.

vc tb não pode (na verdade não deve) ´adicionar´ um novo campo (codigo) na chave -- vai ficar sem sentido, além d que não é uma boa prática chaves compostas (é no mínimo mais difícil trabalhar com elas).

o que vc deve fazer ai é DROPAR sua chave primária e tornar CODIGO (e somente ele) sua nova chave -- não haverá problemas para fazer isso, mesmo já possuindo dados.

ALTER TABLE sua_tabela DROP CONSTRAINT nome_da_chave_primaria;

e depois::

ALTER TABLE sua_tabela ADD CONSTRAINT nome_chave_primaria
PRIMARY KEY (campo_codigo);


note apenas q, se houver qualquer chave estrangeira referenciando esta tabela, esta deverá ser ´dropada´ tb antes de prosseguir com a operação acima.


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar