1
我有一个以下脚本。它一直在工作。昨天它开始回应0结果。我找到了原因。该脚本不选择最高端口,并且在不存在空闲端口之间时加1。如何添加异常或修复它,如果它已经存在。MySQL添加异常存在查询,选择最大值+ 1
应该先免费服务器端口(从删除服务器)选择或者如果不存在,那么最新的一个+ 1
它是如何工作的:MySQL first free number between exists values
SELECT data.sPort
FROM
((SELECT (s.server_port + 1) sPort
FROM servers s
LEFT JOIN servers sp1 ON sp1.server_port = s.server_port + 1
WHERE (sp1.server_port IS NULL) AND sp1.server_port<>0 AND sp1.server_type='" . $server['server_type'] . "' AND sp1.server_port<>9987
ORDER BY sPort)
UNION ALL
(SELECT s.server_port sPost
FROM servers s
WHERE s.server_port<>0 AND s.server_port<>9987 AND s.server_type='" . $server['server_type'] . "'
GROUP BY s.server_port
HAVING COUNT(s.server_port) = SUM(s.server_deleted)
ORDER BY sPort)) AS data
ORDER BY data.sPort
LIMIT 1
'WHERE(sp1.server_port IS NULL)AND sp1.server_port <> 0 AND sp1.server_type ='” ...'不计算...提示:“左加入” – wildplasser 2014-09-28 21:16:18