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;