PHP Mysql 像项目版本一样增加数据库字段
PHP Mysql increment db field like a project version
可能是我题目没选对。
但我很好奇它是否是内置每次用+1增加一个字段,格式如下:
从 1.0(或 1.0.0)开始
最终在某个时刻,经过多次更新后,该字段可能是:
2.7.1
这有点棘手,但是SQL可以做到。
你的需求中有三个自增操作。
假设您的版本看起来像 Major.Minor.Patch
。每种递增操作都需要一个单独的操作。而且,每个人都需要一个 table 列。
正在检索版本:
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
专业提示设计SQL时经常会出现这样的情况,即您需要彻底了解您正在解决的现实问题——您需要一个准确的数据模型你的问题。那么,SQL就简单了。
可能是我题目没选对。
但我很好奇它是否是内置每次用+1增加一个字段,格式如下:
从 1.0(或 1.0.0)开始
最终在某个时刻,经过多次更新后,该字段可能是:
2.7.1
这有点棘手,但是SQL可以做到。
你的需求中有三个自增操作。
假设您的版本看起来像 Major.Minor.Patch
。每种递增操作都需要一个单独的操作。而且,每个人都需要一个 table 列。
正在检索版本:
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
专业提示设计SQL时经常会出现这样的情况,即您需要彻底了解您正在解决的现实问题——您需要一个准确的数据模型你的问题。那么,SQL就简单了。