一尘不染

如何在MySQL数据库中存储版本号

sql

我想将应用程序的版本号存储在MySQL数据库中,例如:

version 1.1.0 1.1.1 1.1.2

我应该使用哪种数据类型。


阅读 582

收藏
2021-03-10

共1个答案

一尘不染

您有2个选择:

  1. 使用varchar

  2. 使用三个数字字段,主要,次要,补丁

  3. 同时使用。

每个选项都有其优点和缺点。

选项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;
2021-03-10