mysql实现唯一序列号
2015-08-02 18:45
555 查看
需要用到事务处理和存储过程。
不具备这方面基础的,要看一眼。一眼就可以。
其中,第一个delimiter用于声明后面//符号。这样存储过程里面的;就不会被当做sql语言断句处理语句了。
最后的delimiter ;用于声明断句还是用;。
一定要记得中间有个空格啊。
存储过程来自于慕课网的mysql开发技巧课程。
不具备这方面基础的,要看一眼。一眼就可以。
delimiter // create procedure dede(in p_in int) begin declare v_cnt int; declare v_timestr int; declare rowcount bigint; set v_timestr = DATE_FORMAT(NOW(),'%Y%m%d'); select round(rand()*100,0)+1 into v_cnt; start transaction; update order_seq set order_sn = order_sn+v_cnt where timestr=v_timestr; IF ROW_COUNT()=0 THEN INSERT INTO order_seq(timestr, order_sn)values(v_timestr, v_cnt); END IF; SELECT CONCAT(v_timestr, LPAD(order_sn,7,0)) AS order_sn FROM order_seq WHERE timestr=v_timestr; COMMIT; end; // delimiter ; create table order_seq(TIMEstr int, order_sn int)
其中,第一个delimiter用于声明后面//符号。这样存储过程里面的;就不会被当做sql语言断句处理语句了。
最后的delimiter ;用于声明断句还是用;。
一定要记得中间有个空格啊。
存储过程来自于慕课网的mysql开发技巧课程。
相关文章推荐
- Solr与MySQL查询性能对比
- MySQL查询优化之COUNT()
- mysql之DCL(GRANT、REVOKE)和mysql用户密码相关
- mysql常用操作
- mysql一个超级简单的事务
- html mysql special character
- Mysql执行计划
- 理解MySQL——索引与优化
- MySQL的用户和权限介绍
- mysql cursor 游标
- MySQL自学-入门篇
- Ubuntu 安装mysql和简单操作
- mysql实现行转列的两个方式
- message from server: "Host '192.168.1.10' is not allowed to connect to this MySQL server
- MySql数据库存储过程
- MySQL学习笔记
- mysql之mysql安装、初始化,以及mysql相关命令的使用
- 常用的Mysql数据库操作语句大全
- 1.jsp+servlet+mysql建站基本思路…
- MySQL日志表按月分区