0

我对在 mysql 中重新分级数据类型有疑问。

我在表中有一个名为status的列

这将有这些值 0=待定,1=活动,2=拒绝,3=暂停 4=批准 5=审查

我的问题是什么是最好的数据类型。是

Char(1)
Tinyint(1)
SmallINT(1)
INT(1)

其中哪一个是最好用的。

我一直在研究这个,但我没有给出任何正确的答案。

请指教。

谢谢

4

2 回答 2

1

如果这些是唯一允许的 5 个值,则使用 tinyint,它是 1 字节数据类型。这为您提供了 0-255(无符号)/-128-+127 有符号范围。

不要使用字符来存储数字数据。那是一种文本类型。

或者,您可以使用ENUM字段,它可以让您使用“友好”名称而不是普通数字。

于 2012-01-30T21:32:42.080 回答
1

我只是不喜欢在数据库表中包含代码。添加新状态时会发生什么?

您可以创建一个名为 status 的查找(子)表。插入所有可能的状态值,然后设置与父表的非标识关系。

如果有一个特殊的顺序(除了字母顺序),状态应该在下拉控件中按 say 排序,添加一个可以排序的列。

于 2012-01-30T21:42:06.577 回答