уникальные поля с проблемой размера
Вопрос
У меня есть база данных mysql, и я пытаюсь поместить URL-адрес и уникальный идентификатор в два отдельных поля.Длина одного из URL-адресов иногда превышает 800 символов.Я попытался создать УНИКАЛЬНЫЙ индекс идентификатора и URL-адреса, чтобы не ссылаться на одну и ту же комбинацию url / id более одного раза, но я получаю сообщение об ошибке, касающееся длины поля для индекса.
В настоящее время я сохраняю URL-адрес как varchar .может быть, мне следует использовать blog?или что-то еще?как это повлияет на УНИКАЛЬНЫЙ индекс?
Решение
Храните URL-адрес в TEXT
поле, сохраняйте MD5
хэш URL-адреса в другом столбце и создайте уникальный индекс в столбце хэш.
Другие советы
Я полагаю, что ограничение по размеру для varchar равно 255.Вы должны перейти с типа varchar на text.