1. 程式人生 > > Mysql取唯一值(類似隨機數);不使用迴圈在Mysql做更新操作

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;