I don't need my autoinc IDs for display purposes - I'm using them to link tables together. I have a list of products in one table (with autoinc product_IDs), and a list of reviews in another table (also with autoinc review_IDs). Each review in the review table references a particular product in the products table, by way of its product_ID.
I realise that if I use INT for my autoinc ID columns, I'll have billions of numbers to go at, so running out would never be an issue, even if I added and deleted rows every day for years and years to come. BUT! As a programmer, I can't help feel uneasy about the fact that one day, in the far distant future, when aliens are accessing my website, they'll hit a MySQL error because there are no IDs free, despite the fact that there may not be that many products or reviews in the database!!!
Also, it seems good practice to pick the right data type for the column. So if I know I'll never have more than 256 products in the db at one time, an int unsigned seems like the right choice.
A 128bit UUID does seem like a bit of an overkill!!! Perhaps I'll just code my own IDs, and not use autoinc at all. Gotta think about the aliens!