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

时间:2014-03-10 09:04:21

标签: php mysql sql database

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

version 1.1.0 1.1.1 1.1.2

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

4 个答案:

答案 0 :(得分:11)

您有两个选择:

  1. 使用varchar

  2. 使用三个数字字段,Major,Minor,Patch

  3. 同时使用。

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

    选项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

我就是这样做的。

但原则是将版本号的多个部分以这样的方式进行倍增,最终得到版本的整数表示并存储它。

这些数字自然是可以排序的。

查看结果时,您可以将其分解为数字代表的含义。