Are usernames a valid candidate for a primary key?

authentication, database-design, primary-key

Solution

If you don't want to get duplicate usernames, create a `UNIQUE constraint`.

What if `DWong1145` wants to change it's username? Will you to make all database relationships to be `UPDATE CASCADE`?

Problem

I know surrogate primary keys are generally recommended over natural primary keys, but are there any arguments in favor of surrogate primary keys when it comes to usernames?

Original source