Eu tenho uma tabela existente chamada Persion
. Nesta tabela, eu tenho 5 colunas:
- persionId
- Pname
- PMid
- Pdescription
- Pamt
Quando criei esta tabela, defino PersionId
e Pname
como a chave primária .
Agora, quero incluir mais uma coluna na chave primária - PMID. Como posso escrever uma ALTER
declaração para fazer isso? (Eu já tenho 1000 registros na tabela)
personId
na sua tabela. Por sua vez, isso significa que, se você ingressar de uma tabela de tipos de transação (muitos) nessa tabela, somente nessa chave, obterá registros duplicados, levando à "contagem dupla" de registros de transações.Respostas:
eliminar restrições e recriá-las
editar:
você pode encontrar o nome da restrição usando a consulta abaixo:
fonte
Eu acho que algo assim deve funcionar
fonte
é uma solução melhor porque você tem controle sobre a nomeação da primary_key.
É melhor do que apenas usar
que gera nomes aleatórios e pode causar problemas ao criar scripts ou comparar bancos de dados
fonte
Se você adicionar uma restrição de chave primária
por exemplo:
fonte
Já existe uma chave primária na sua tabela. Você não pode simplesmente adicionar chave primária, caso contrário, causará erro. Porque existe uma chave primária para a tabela sql.
Primeiro, você deve soltar sua chave primária antiga.
MySQL:
Acesso ao SQL Server / Oracle / MS:
Segundo, adicione chave primária.
Acesso MySQL / SQL Server / Oracle / MS:
ou o melhor abaixo
Isso pode definir o nome da restrição pelo desenvolvedor. É mais fácil manter a mesa.
Fiquei um pouco confuso quando procurei todas as respostas. Então, pesquiso alguns documentos para encontrar todos os detalhes. Espero que esta resposta possa ajudar outro iniciante em SQL.
Referência: https://www.w3schools.com/sql/sql_primarykey.asp
fonte
A restrição PRIMARY KEY identifica exclusivamente cada registro em uma tabela do banco de dados. As chaves primárias devem conter valores UNIQUE e a coluna não pode conter valores NULL.
fonte
Necromante.
Caso alguém tenha um esquema tão bom para trabalhar como eu ...
Aqui está como fazê-lo corretamente:
Neste exemplo, o nome da tabela é dbo.T_SYS_Language_Forms e o nome da coluna é LANG_UID
fonte
Por favor, tente isso-
fonte
Tente usar este código:
fonte
fonte