簡體   English   中英

MySQL中的特定字符串自動遞增

[英]Specific String auto increment in mysql

我想為MySQL中的表Emp創建一個唯一的ID,例如“ Emp_0416_1”,“ Emp_0416_2”和“ Emp_0516_1”,“ Emp_0516_2”。

這里

 Emp is stand for Employee,
 04 is April month,
 16 is year,
 1 is emp code.

 Emp is stand for Employee,
 05 is May month,
 16 is year,
 1 is emp code.

表是:

      create table emp (
          id varchar(20),
          name varchar(20)
      );

當我插入emp名稱時,它將像上面的唯一id一樣自動遞增。

這是您想要的解決方案

      CREATE PROCEDURE `proc_name`(in emp_code int,in emp_name varchar(256),in_date date)
        BEGIN
                declare temp_date varchar(256);
                set temp_date=  (select concat(
                                                 if(length(month(in_date))>1,month(in_date),concat(0,month(in_date))),right(year(in_date),2)
                                              ) as dateyear
                                 );

                INSERT into table_name(id,`name`) 
                select concat('emp_',temp_date,'_',emp_code)as emp_id,emp_name;



        END

呼叫程序

 call proc_name(2,'batman','2016-04-11')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM