terça-feira, 1 de março de 2011

Como alterar uma tabela MySQL, para tornar uma chave non unique

Tendo uma base de dados a correr num sistema real, não podemos apagar e criar novamente uma tabela para alterar atributos das colunas.

Alterar uma coluna MySql para non unique


Se por acaso tiver uma chave unique para uma coluna e se pretender que a coluna deixe de ser unique, deverá ser executada a seguinte query SQL, para MySQL:

Se tiver sido adicionada como uma cláusula unique, usar:

ALTER TABLE mytable DROP INDEX column_name

Se tiver sido criada como uma restrição (constraint), usar:

ALTER TABLE mytable DROP INDEX column_name

Se tiver sido definida como unique através da cláusula primary key*:

ALTER TABLE mytable DROP PRIMARY KEY

*Nota: esta última hipótese irá fazer um lock à base de dados, durante algum tempo (dependendo da quantidade de dados), porque irá implicitamente recriar a tabela e recriar os índices.

Sem comentários:

Enviar um comentário