user signup: how to help users who forgot username and for that should i allow only unique email in database Ask Question

I am creating a signup form for my project.

I want the username to be unique and they can provide a valid email address. I dont feel there is any need to keep unique email for each username.

But the problem is if someone forgets the username, then i have to help him out. Because this site is not prominent like gmail, so most of the people may forget the usernames. Then the only option left is to only allow unique email in the database.

But then if someone dont like their username or want to create another username then they have to create a new email id. Or i have to ask them to delete their account and create new one or edit their username

So what is the best approach in this case.