Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL:Como alterar a coluna varchar (255) UNIQUE para UNIQUE Text NOT NULL?


Você vai usar a coluna TEXT como parte da UNIQUE KEY?É MUITO ineficiente! Não faça isso! Eu sugiro fortemente que você:
  • Adicionar coluna adicional chamada, por exemplo, 'description_hash' char(32) not null default ''
  • Armazene o valor de hash para description campo nele. Por ex. description_hash=MD5(description)
  • Mude sua chave para UNIQUE KEY (name, description_hash)

Claro que você precisará manter o description_hash coluna up-to-date em seu código, mas como ver - na maioria dos casos é necessário apenas algumas alterações de código. Ou você pode usar o gatilho para lidar com isso.