", you could change the mysql field to CHAR and have it 7 characters limit. "
You could, but you'd lose th numeric properties, such as the auto_increment feature.
More importantly, the zero's are just for show, they have no purpose inside the database because the database just needs a unique number, and leading zero's don't make a number any more unique, they just take up space.
The only reason to have them is to present a nice number to the user.
And you can get that from printf() or 'zerofill', heck, even lpad() will do.