也许我的题目不对。但我很好奇,是否内置了一个字段,每次以+1递增,格式如下:从1.0(或1.0.0)开始最终在某个时刻,经过多次更新后,该字段可能是:2.7.1
yiytaume1#
这有点棘手,但是sql可以做到。在您的需求中有三个递增操作。假设你的版本看起来像 Major.Minor.Patch . 每种递增操作都需要一个单独的操作。而且,每个表都需要一个表列。检索版本:
Major.Minor.Patch
SELECT CONCAT_WS('.', Major, Minor, Patch) FROM tbl WHERE whatever;
增加修补程序:
UPDATE tbl SET Patch = Patch + 1 WHERE whatever
增加次要版本并重置修补程序。
UPDATE tbl SET Minor = Minor + 1, Patch = 0 WHERE whatever
增加主要版本并重置次要版本和修补程序。
UPDATE tbl SET Major = Major + 1, Minor = 0, Patch = 0 WHERE whatever
pro tip在设计sql时,通常需要彻底了解正在解决的实际问题——需要问题的精确数据模型。那么,sql就很简单了。
1条答案
按热度按时间yiytaume1#
这有点棘手,但是sql可以做到。
在您的需求中有三个递增操作。假设你的版本看起来像
Major.Minor.Patch
. 每种递增操作都需要一个单独的操作。而且,每个表都需要一个表列。检索版本:
增加修补程序:
增加次要版本并重置修补程序。
增加主要版本并重置次要版本和修补程序。
pro tip在设计sql时,通常需要彻底了解正在解决的实际问题——需要问题的精确数据模型。那么,sql就很简单了。