Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL:come modificare la colonna varchar(255) UNIQUE in testo UNICO NON NULL?

Utilizzerai la colonna TESTO come parte di CHIAVE UNICA? È MOLTO inefficiente! Non farlo! Ti consiglio vivamente di:

  • Aggiungi una colonna aggiuntiva denominata ad esempio 'description_hash' char(32) not null default ''
  • Memorizza il valore hash per description campo in esso. Per es. description_hash=MD5(description)
  • Cambia la tua chiave in UNIQUE KEY (name, description_hash)

Ovviamente dovrai mantenere il description_hash colonna aggiornata nel tuo codice, ma come vedi, nella maggior parte dei casi sono necessarie solo poche modifiche al codice. Oppure puoi utilizzare il trigger per gestirlo.