如何在MySQL查询中增加计算值(如MAX值)而不会丢失零填充格式。我的格式是00000(varchar 5)。我现在的最大值是00004.如果我增加它,我想要00005。
当我使用此查询时:
SELECT max( `num_dossier` ) +1 AS max
FROM amep_dossier
我的结果是5而不是00005
答案 0 :(得分:1)
用零填充计算出的数字。
SELECT LPAD( MAX(num_dossier) + 1, 5, '0') AS MAX
FROM amep_dossier
答案 1 :(得分:1)
我发现了一个MySQL错误报告here,解释说使用MAX()函数不会从查询结果中的列中删除zerofill标志,但它无法显示零。使用LPAD()工作正常。
答案 2 :(得分:0)
如果您将其更改为smallint(5),则可以将其设置为ZEROFILL
并且它会自动正确递增。
答案 3 :(得分:0)
我相信您会想要使用ZEROFILL,http://hashmysql.org/wiki/Zerofill,将您的字段设置为INT并将其归为(UNASSIGNED ZEROFILL),如果您使用的是phpmyadmin。
CREATE TABLE amep_dossier (
num_dossier INT(5) ZEROFILL,
);