---
title: "Stop Using ENUMs in Your Database (Use This Instead)"
url: https://daily.dev/posts/stop-using-enums-in-your-database-use-this-instead--ghj7fwljx
source_url: https://www.youtube.com/watch?v=MAvyfhTpz-o
type: video:youtube
source: "Database Star"
published: 2026-05-31T07:44:19.175Z
updated: 2026-05-31T07:55:25.147Z
tags: ["database", "sql", "mysql"]
reading_time: 5
upvotes: 0
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Stop Using ENUMs in Your Database (Use This Instead)

**[Database Star](https://daily.dev/sources/database-star)** · 5 min read · 0 upvotes · 0 comments

## Summary

ENUMs in SQL databases seem convenient for restricting column values, but they come with five significant drawbacks: schema changes require costly ALTER TABLE operations that can lock large tables, values are stored as integers causing sorting and reordering issues, they create vendor lock-in, they can't store extra metadata, and they can't be queried to populate UI dropdowns. The recommended alternative is a separate lookup table with an integer foreign key. This approach allows adding new values via simple INSERT statements without schema changes, supports extra metadata like sort order or display colors, enables easy joins for human-readable labels, and works across any SQL database.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=MAvyfhTpz-o>

## Similar posts on daily.dev

- [MySQL Best Practice : not using date / time types, nor ENUM](https://daily.dev/posts/mysql-best-practice-not-using-date-time-types-nor-enum-aherz8sww) · Planet MySQL · 55 upvotes · 13 comments

---

Tags: [#database](https://daily.dev/tags/database), [#sql](https://daily.dev/tags/sql), [#mysql](https://daily.dev/tags/mysql)

[View this post on daily.dev](https://daily.dev/posts/stop-using-enums-in-your-database-use-this-instead--ghj7fwljx)
