campos exclusivos com problema do tamanho
Pergunta
Eu tenho um banco de dados mysql e estou tentando colocar um url e ID único em dois campos separados. Um dos urls são às vezes mais do que 800 caracteres. Tentei criar um índice único do id e url, para que eu não estou ligando para o mesmo url / id combinação mais de uma vez, mas eu recebo um erro sobre comprimento de campo para o índice.
Atualmente estou armazenando o url como um varchar. eu deveria talvez ser usando blog? ou alguma outra coisa? como será o efeito do índice UNIQUE?
Solução
Mantenha URL em um campo TEXT
, manter o hash MD5
da URL em outra coluna, e criar um índice exclusivo na coluna de hash.
Outras dicas
Eu acredito que o limite de tamanho para varchar é 255. Você deve mudar de tipo varchar ao texto.