首页 新闻 会员 周边 捐助

数据库中 "状态” 用 int 还是 varchar 表示好?

0
[待解决问题]

状态 用 int 还是 varchar 表示好?

很多系统状态都是用 int 表示的 比如 0停用,1启用,但往往又要在前台显示的时候改成对应的中文,把 0改为停用 1改为启用

wunaigong的主页 wunaigong | 初学一级 | 园豆:4
提问于:2012-07-14 14:06
< >
分享
所有回答(5)
0

bit 最好  

chenping2008 | 园豆:9836 (大侠五级) | 2012-07-14 16:35
0

有没有可能出现第三种情况:未知状态呢?

Angkor--:-- | 园豆:1086 (小虾三级) | 2012-07-14 17:15
3

如果状态只有两种,用bit;

如果状态超过两种,用tinyint。

在代码中用枚举类型。

dudu | 园豆:30948 (高人七级) | 2012-07-14 20:04

我也同意dudu的

支持(0) 反对(0) Y2zz | 园豆:393 (菜鸟二级) | 2012-07-14 21:03

bit在不同引擎中的表现不能保证,应该慎用,有些情况下是字符类型

支持(0) 反对(0) gabin | 园豆:200 (初学一级) | 2016-08-21 20:20
0

这个得看你的状态是多少种,如果只有真假的那么用bit就OK啦,如果有多重,并且可以用数字表示的,那么用smallint应该够了,数字的查询速度比字符串快点,如果状态为文字之类的字符串,那么用varchar没有问题。

只知道能不能帮助你。http://www.dobug.net/showtopic-332.html

pasig10038 | 园豆:387 (菜鸟二级) | 2012-07-15 12:59
0

tinyint ,这个更好

jerry-Tom | 园豆:4077 (老鸟四级) | 2012-07-16 10:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册