Apenas para tornar isso explícito, as respostas abaixo (usando ALTER TABLE) funcionarão mesmo se a coluna já contiver dados. No entanto, converter uma coluna flutuante em uma coluna inteira fará com que quaisquer valores não inteiros nela sejam arredondados para o número inteiro mais próximo.
Lembrete amigável - O padrão para colunas é NULLABLE; portanto, se você tiver uma coluna NOT NULL, não se esqueça de usar "MODIFY columnname INTEGER NOT NULL" ou então você alterará sua coluna de NOT NULL para NULL.
Despertar
3
Alter table excluirá os dados da tabela ou falhará na execução se algo não for uma reclamação com o novo tipo de coluna?
precisa saber é o seguinte
1
ALTER TABLE nome da tabela MODIFY columnname INTEGER não assinado; <- se você se importa com a nova coluna não assinada. Foi o meu caso.
55568 Mircealungu #
Acho que o aviso @Despertars também pode ser relevante para manter as especificações de CHARSET ou COLLATE.
!! Não mantém restrições exclusivas, mas deve ser facilmente corrigido com outro ifparâmetro para concat. Vou deixar para o leitor implementar isso, se necessário ..
ALTER TABLE
) funcionarão mesmo se a coluna já contiver dados. No entanto, converter uma coluna flutuante em uma coluna inteira fará com que quaisquer valores não inteiros nela sejam arredondados para o número inteiro mais próximo.Respostas:
http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
Isso mudará o tipo de dados da coluna especificada
Dependendo de quantas colunas você deseja modificar, pode ser melhor gerar um script ou usar algum tipo de GUI do cliente mysql
fonte
fonte
Você também pode usar isso:
fonte
Se você deseja alterar todas as colunas de um determinado tipo para outro, pode gerar consultas usando uma consulta como esta:
Por exemplo, se você deseja alterar as colunas de
tinyint(4)
parabit(1)
, execute-o assim:e obtenha uma saída como esta:
!! Não mantém restrições exclusivas, mas deve ser facilmente corrigido com outro
if
parâmetro paraconcat
. Vou deixar para o leitor implementar isso, se necessário ..fonte
Ex:
fonte
Você usa o
alter table ... change ...
método, por exemplo:fonte
fonte
https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
Você também pode definir um valor padrão para a coluna, basta adicionar a palavra-chave DEFAULT seguida pelo valor.
Isso também está funcionando para MariaDB (versão testada 10.2)
fonte
Se você deseja alterar os detalhes da coluna, adicione um comentário, use este
fonte