我想在MySQL数据库中存储我的应用程序的版本号,例如:
version
1.1.0
1.1.1
1.1.2
我应该使用哪种数据类型?
您有两个选项:
使用 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;
vversion.sortorder < 1004002
。 - Klas Lindbäck(major < 10 OR (major = 10 AND (minor < 4 OR (minor = 4 AND patch < 2))))
。 - Walf或者,为什么不直接使用数字呢?例如:
210061
这将是21.0.6 Beta 1。
这就是我做的方式。
但原则是要以一种使版本号段相乘的方式来结束,并存储表示您版本的整数表示。
这些数字自然会被排序。
在查看结果时,您可以将其分解为数字代表的内容。
在存储不同的版本号时,最好使用VARCHAR
。
varchar
。 - GautamD31