我在远程服务器上有一个表,用于存储我们客户端软件的版本号。我使用 SOAP 来处理请求。客户端软件发送一个版本号,我需要使用 SQL 查找下一个版本号。
这是我使用的 SQL。我的大脑一天有点糟糕,我知道这是不正确的,但我似乎无法弄清楚我需要做什么。
创建表代码:
CREATE TABLE IF NOT EXISTS `sqlUpdateVersions` (
`primary_key` int(11) NOT NULL AUTO_INCREMENT,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`comment` text NOT NULL,
`majorVS` tinyint(4) NOT NULL,
`minorVS` tinyint(4) NOT NULL,
`revisionVS` tinyint(4) NOT NULL,
`buildVS` tinyint(4) NOT NULL,
`filePK` int(11) NOT NULL,
`customDBJarPK` int(11) DEFAULT NULL,
PRIMARY KEY (`primary_key`),
KEY `filePK` (`filePK`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
这是查找版本号的 SQL 查询。我在这个版本中转储了 1.1.0.0
select b.majorVS, b.minorVS,b.revisionVS, b.buildVS
from sqlUpdateVersions b where
b.majorVS>=1 AND b.minorVS >=1 AND b.revisionVS>=0 AND b.buildVS>=10
ORDER BY b.majorVS,b.minorVS,b.revisionVS, b.buildVS
现在很明显我可以告诉这个 SQL 是有问题的。但是我将如何构造一个返回下一个值的结构,比如 1.2.0.0 或 1.1.1.0
谢谢。