2016-04-12 17 views
0

MySQLのテーブルEmpの一意のIDを "Emp_0416_1"、 "Emp_0416_2"、 "Emp_0516_1"、 "Emp_0516_2"のように作成したいとします。mysqlの特定文字列自動インクリメント

ここ

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上記のような自動インクリメントされます。ここ

+0

そのことは難しいことです....それは –

+0

この手順では、文字列または単一をしたいですかためにあなたは何を試してみましたクエリ?? –

+0

@Jordan:私はそれについて考えていません。私はmysqlが初めてです。 –

答えて

0

は、ご希望のソリューション

 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')