Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL :Comment modifier la colonne varchar(255) UNIQUE en UNIQUE Text NOT NULL ?

Allez-vous utiliser la colonne TEXT dans le cadre de UNIQUE KEY ? C'est TRÈS inefficace ! Ne faites pas ça ! Je vous suggère fortement :

  • Ajouter une colonne supplémentaire nommée par exemple 'description_hash' char(32) not null default ''
  • Stocker la valeur de hachage pour description champ dedans. Par ex. description_hash=MD5(description)
  • Changez votre clé en UNIQUE KEY (name, description_hash)

Bien sûr, vous devrez conserver le description_hash colonne à jour dans votre code, mais comme vous le voyez, dans la plupart des cas, cela ne nécessite que quelques modifications de code. Ou vous pouvez utiliser un déclencheur pour gérer cela.