Mysql取唯一值(类似随机数);不使用循环在Mysql做更新操作

1.    Mysql取唯一值(类似随机数)

# 这里生成的ebook_line_no 为永远不重复值
SELECT (substr(UNIX_TIMESTAMP(now()), 6) + 10000) as ebook_line_no FROM dual;

2.    不使用循环在Mysql做更新操作。

        下面的作用就是把ebook_detail_receive表的所有ebook_line_no进行重新排序

# 首先所有ebook line 乘以-1取反,然后再从1开始累加更新(注意第二个sql的第一个值是从1开始)
UPDATE ebook_detail_receive
SET ebook_line_no = ebook_line_no * -1
WHERE ebook_no = new.ebook_no;

SET @num = 0;
UPDATE ebook_detail_receive
SET ebook_line_no = @num := @num + 1
WHERE ebook_no = new.ebook_no;

3. 真实的随机数

SELECT FLOOR(RAND() * 99999)
FROM dual;

你可能感兴趣的:(Mysql取唯一值(类似随机数);不使用循环在Mysql做更新操作)