我想在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一样自动递增。
答案 0 :(得分: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')