求一个按年月日流水号格式生成订单号的的存储过程 思路:用1个表保存流水号,取值时,锁表->取值->+1保存->释放锁 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是否是根据时间随机生成一个唯一的订单号? 建议楼主先尝试自己写一下,然后有任何问题可以把自己写的代码和问题一起贴出共同讨论。 select concat(DATE_FORMAT(CURDATE(),'%Y%m%d'),'0001') from dual ;有两部分组成: DATE_FORMAT(CURDATE(),'%Y%m%d') (年月日) + '0001' (流水号) 如果使用存储过程生成 :需要先获取到数据库表中的最大的 订单号 ,判断 ,截取前8位 是否与 DATE_FORMAT(CURDATE(),'%Y%m%d')值相同 ,如果相同则直接转换为int 类型并对值加1 ,如果不相同,则直接使用 concat(DATE_FORMAT(CURDATE(),'%Y%m%d'),'0001')初始化 。个人建议 :直接使用 DATE_FORMAT(CURDATE(),'%Y%m%d') (年月日) + 4位随机数字 岂不是更简单 ?select concat(DATE_FORMAT(CURDATE(),'%Y%m%d'),ROUND(ROUND(RAND(),5)*10000)) from dual ; 将sql server的函数方法转换成MySQL请各位高手指点。 求存储过程,在线等 mysql 中 怎么用语句怎么把mysqldump出来的东西弄到另一个数据库中 mySql 登陆出现问题 mysql cluster疑惑 求一条sql语句!!!! 关于备份数据库的一点问题 mysql .sql文件说明 mysql插入数据的奇怪问题! 如何备份和恢复innodb类型的表?直接拷贝数据库文件可以吗? 如何根据一组ID查询并增加一列显示名称 db2 到 mysql数据转移
建议楼主先尝试自己写一下,然后有任何问题可以把自己写的代码和问题一起贴出共同讨论。
需要先获取到数据库表中的最大的 订单号 ,判断 ,截取前8位 是否与 DATE_FORMAT(CURDATE(),'%Y%m%d')值相同 ,如果相同则直接转换为int 类型并对值加1 ,如果不相同,则直接使用 concat(DATE_FORMAT(CURDATE(),'%Y%m%d'),'0001')初始化 。个人建议 :直接使用 DATE_FORMAT(CURDATE(),'%Y%m%d') (年月日) + 4位随机数字 岂不是更简单 ?
select concat(DATE_FORMAT(CURDATE(),'%Y%m%d'),ROUND(ROUND(RAND(),5)*10000)) from dual ;