Hacker News new | ask | show | jobs
Ask HN: Should IDs be strings or numbers in your codebase?
2 points by viviansolide 111 days ago
At work we're debating whether entity IDs should be typed as strings or numbers throughout our stack (API contracts, frontend, etc.).

Database auto-increments happen to be integers, but we never perform arithmetic on IDs – they're opaque identifiers.

My take: IDs are identifiers, not numbers. Typing them as strings makes this explici and makes migrating to UUIDs or other formats painless.

Am I missing a good reason to keep them as numbers?

2 comments

Consider storage requirements. Strings (ASCII? UTF-8?) are not as efficient as integers or UUIDs. You're not storing UUIDs as strings, are you? They are binary, only converted to the string expansion for display and/or export.
Unless you're doing math with them for some reason, they're strings.