求教mysql触发器生成 日期编号

梦兰伯特 2017-05-03 03:29:10
利用mysql触发器可以生成如日期(20170503)+编号(0001)的流水号,编号每天都会从0001开始计算
guid储存入vachar(12)

保存的时候就报错
begen
declare n int;
select IFNULL(max(right(guid,4)),0)into n from repairs where mid(guid,1,8)=DATE_FORMAT(CURDATE(),'%Y%m%d');
set NEW.guid=concat(DATE_FORMAT(CURDATE(),'%Y%m%d'),right(10001+n,4));
end
...全文
290 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenru_c 2017-07-13
  • 打赏
  • 举报
回复
这个……begin是不是拼错了?
ACMAIN_CHM 2017-05-03
  • 打赏
  • 举报
回复
换命令行试试。 以断定是工具的问题,还是语句的问题。 mysql命令行工具中加上 delimiter // create trigger .... begin declare n int ...... .... end//
二月十六 2017-05-03
  • 打赏
  • 举报
回复
引用 2 楼 qq_35956539 的回复:
[quote=引用 1 楼 sinat_28984567 的回复:] 声明变量加@ declare @n int;
加了还是报错[/quote] 报什么错?
梦兰伯特 2017-05-03
  • 打赏
  • 举报
回复
引用 1 楼 sinat_28984567 的回复:
声明变量加@ declare @n int;
加了还是报错
二月十六 2017-05-03
  • 打赏
  • 举报
回复
声明变量加@ declare @n int;

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧