分享知识 传递快乐
由于订单号在表中设定的是唯一索引,每次操作订单时都要先修改订单,操作繁琐且耗时,利用 SQL 更新方式自动修改订单号。
示例
UPDATE order SET order_no= CONCAT( order_no, '/delete',CEILING(RAND()*90000+10000)) WHERE order_no='O20211229-0019';
详细说明
concat(连接字符串)
使用方法:
concat(str1,str2,…)
返回结果为连接参数产生的字符串;如有任何一个参数为NULL ,则返回值为 NULL;如果其中一个是NULL,那么将返回NULL。
获取随机数
RAND():随机生成 0~1 之间的小数(0<1)
CEILING:向上取整
FLOOR:向下取整
-- 生成 3 位的随机数
SELECT CEILING(RAND()*900+100);
-- 生成 4 位的随机数
SELECT CEILING(RAND()*9000+1000);
-- 生成 5 位的随机数
SELECT CEILING(RAND()*90000+10000);
注意:生成指定位数的随机数方式的位数越少,重复的概率越大。所以这种方式只能在特殊场合有些作用。
—————————
如有不足请留言指正
相互学习,共同进步