Я бы настоятельно рекомендовал иметь возможность просто войти в систему с адресом электронной почты - они не хотят запоминать еще одно имя пользователя, и вам не нужно иметь дело с проверкой, смотрите ли вы имя пользователя или электронную почту адрес каждый раз, когда вы хотите проверить его. Тем не менее, это не имеет большого значения, просто то, без чего вы можете обойтись. Если вы считаете, что это будет полезной функцией для ваших пользователей, во что бы то ни стало, продолжайте.
НЕ полагайтесь на уникальный индекс, чтобы найти ваши дубликаты для вас, это не чистый способ сделать это. ВСЕГДА проверяйте перед вставкой, если значения уже существуют.
Еще один совет, который приходит на ум: если в случае какой-либо ошибки вам необходимо обновить форму, убедитесь, что все заполненные пользователем поля заполнены обратно.