我想将我的应用程序的版本号存储在MySQL数据库中,例如:
version
1.1.0
1.1.1
1.1.2
我应该使用哪种数据类型。
答案 0 :(得分:11)
您有两个选择:
使用varchar
使用三个数字字段,Major,Minor,Patch
同时使用。
每个选项都有其优点和缺点。
选项1只有一个字段,因此很容易获得该版本。但它不一定是可排序的,因为2.0.0将按字典顺序高于10.0.0。
选项2很容易排序,但你必须得到三个字段。
选项3可以使用视图实现:
Table tversion (
major NUMBER(3),
minor NUMBER(3),
patch NUMBER(3)
)
View vversion is
select major || '.' || minor || '.' || patch AS version,
major * 1000000 + minor * 1000 + patch AS sortorder from tversion;
答案 1 :(得分:1)
您可以使用varchar()
,甚至可以使用INET_NTOA
。试试这个LINK
答案 2 :(得分:1)
在存储不同的版本号时,最好使用VARCHAR
。
答案 3 :(得分:0)
或者,为什么不直接使用数字?例如:
210061
那就是 21.0.6 Beta 1
我就是这样做的。
但原则是将版本号的多个部分以这样的方式进行倍增,最终得到版本的整数表示并存储它。
这些数字自然是可以排序的。
查看结果时,您可以将其分解为数字代表的含义。