我已经完全解决了,看看..
首先,您必须获取一个示例表,其中的列将与原始表的列相同,但 column 除外project_id
。
然后首先在原始表中插入一行,其中列project_id
=0,其他列为空,只需像这样手动插入第一行。
然后在示例表上创建一个触发器,如下所示...
///////////////////////////////////////// ///////////////////////////////////////// ///////////////////////////////////////// ///////////////
分隔符;;
插入后创建触发器 ttry
对于每一行
开始
声明 v int;
声明 c int;
set v=(select max( project_id
) from original
);
如果(v=0)那么
插入original
集合
project_id
=concat((select concat(right(substring_index((select * from(select curdate() from try
limit 1) as a),'-','1'),2),right(substring_index((select * from(select curdate() 来自try
限制 1) 作为 a),'-','2'),2)) 来自try
限制 1),'-001'),
project
=新的。project
;
别的
set c=(select right((select max( project_id
) from original
)as x,3) from original
limit 1);
插入original
集合
project_id
=concat((select concat(right(substring_index((select * from(select curdate() from try
limit 1) as a),'-','1'),2),right(substring_index((select * from(select curdate() 从try
限制 1) as a),'-','2'),2)) 从try
限制 1),concat('-00',c+1)),
project
=新的。project
;
original
从限制 1中删除;
万一;
结尾;;
///////////////////////////////////////// ///////////////////////////////////////// ///////////////////////////////////////// ///////////////
在上面的触发器中,我的示例表是try
(project
文本),原始表是original
(project_id
文本,project
文本)。
在示例表上创建这样的触发器后,开始在示例表中插入行,这些行将自动插入到原始表中,project_id
列中的 auto_increment 值如..1405-001,1405-002,1405-003.. .. 其中14
is2014
和05
isMay
以及其余的是使用触发器递增的 auto_incremented 值。
只需按照上述步骤,您的问题一定会得到解决。