Auto-increment database IDs

Database auto-increment is something I find incredibly frustrating; pretty much every PHP/MySQL beginner tutorial teaches people to do this, but you really shouldn't.

I have got experience trying to shard auto-increment database IDs, and it's messy. Let's suppose you shard the database so the dataset over two database servers...how on earth can you expect someone to scale auto-increment IDs?

MySQL now even features a UUID function, allowing you to generate good IDs with strong entropy, meaning it also features a higher theoretical limit than auto-increment triggers on tables with an int data type.

In order to use the UUID function, the database table should ideally be a CHAR(20).

Get Mastering PHP Design Patterns now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.