Mysql 如何在不丢失前导零格式的情况下增加最大值

Mysql 如何在不丢失前导零格式的情况下增加最大值,mysql,Mysql,在MySQL查询中,如何在不丢失零填充格式的情况下增加计算值(如MAX值)。我的格式是00000(varchar 5)。我现在的最大值是00004。如果我增加它,我想要00005 使用此查询时: SELECT max( `num_dossier` ) +1 AS max FROM amep_dossier 我得到的结果是5,而不是00005,如果将其更改为smallint(5),则可以将其设置为ZEROFILL,并正确地自动递增。如果使用phpmyadmin,我

在MySQL查询中,如何在不丢失零填充格式的情况下增加计算值(如MAX值)。我的格式是00000(varchar 5)。我现在的最大值是00004。如果我增加它,我想要00005

使用此查询时:

        SELECT max( `num_dossier` ) +1 AS max
        FROM amep_dossier

我得到的结果是5,而不是00005,如果将其更改为smallint(5),则可以将其设置为
ZEROFILL
,并正确地自动递增。

如果使用phpmyadmin,我相信您会希望使用ZEROFILL,将字段设置为INT,并将其属性设置为(未指定的ZEROFILL)

CREATE TABLE amep_dossier (
   num_dossier INT(5) ZEROFILL,
   ); 

用零填充计算出的数字

 SELECT LPAD( MAX(num_dossier) + 1, 5, '0') AS MAX
   FROM amep_dossier

我发现一个MySQL错误报告解释说,使用MAX()函数不会从查询结果中的列中删除zerofill标志,但它无法显示零。使用LPAD()可以很好地工作