I always see MySQL database primary keys as integers. Is that because primary keys must be integers, or because of ease of use when setting auto_increment on the column?

I am wondering just in case I want my primary key to be a varchar in the future.

Edit
Report