应该将选项存储为MySQL DB中的文本还是整数?

Jos*_*ain 2 php mysql

我正在创建一个包含三列的小型数据库:ID,Name,Status

"状态"可以是三件事之一:等待,批准,其他

我的问题是,在数据库中存储"状态"的最佳/最正确方法是什么?它应该存储为varchar字符串还是1,2或3整数,然后在从DB读取时将其转换为waiting/approved/other?我希望这是有道理的,感谢任何帮助.

Ker*_*mit 5

您应该使用tinyint数据类型来引用该状态的状态表(称为字典或查找表).您将使用外键约束.这样就可以保持关系和域的完整性.它允许您在不更改表结构的情况下添加/更改/删除状态值.

status
=============
id  value
1   Waiting
2   Approved
3   Other
users
====================
id  name   status_id
1   Bobby  3