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 books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.