我有问题在mysql中重新分类数据类型。
我在表格中有一个名为 status
的列哪些将具有这些值0 =待定,1 =有效,2 =被拒绝,3 =暂停4 =已批准5 =审核
我的问题是什么是最好的数据类型。 是
Char(1)
Tinyint(1)
SmallINT(1)
INT(1)
其中哪一个最适合使用。
我一直在研究这个问题,但我没有得到任何正确答案。
请建议。
谢谢
答案 0 :(得分:1)
如果这些是允许的唯一5个值,则使用tinyint,这是1byte数据类型。这样可以得到0-255(无符号)/ - 128- + 127符号范围。
不要使用字符来存储数字数据。这是一种文字类型。
或者,您可以使用ENUM字段,这样您就可以使用“友好”名称而不是普通数字。
答案 1 :(得分:1)
我不是在数据库表中拥有代码的忠实粉丝。添加新状态后会发生什么?
您可以创建名为status的查找(子)表。插入状态的所有可能值,然后与父表建立非标识关系。
如果存在特殊订单(按字母顺序除外),则应按下拉控件中的顺序排序状态,添加可以排序的列。