我有一個表像這樣更新MySQL表隨着隨機排序
ItemsTable
item_id, cat_id, sort
----------------------
1 1 1
20 1 2
15 1 3
12 1 4
11 1 5
....
1521 1 1991
在我的程序,頁面顯示每一次,它會拉動基礎上的排序號的下一個項目。所以,比如說我只顯示了排序= 2,下一次頁面將顯示項目排序= 3(也許排序是一個壞名字)。
我想要做的是,一旦我拉最後一項(排序= 1991),我想重新更新該表中的項目,並重新分配新的排序順序。
像這樣:
ItemsTable
item_id, cat_id, sort
----------------------
35 1 1
7 1 2
2 1 3
1521 1 4
700 1 5
....
5 1 1991
現在我的心裏都在想我已經編寫選擇記錄一個腳本,CAT_ID = 1個排序結果隨機,然後我不得不在PHP中創建一個循環,會更新數據庫1001次。在我看來,這似乎並不高效。
你們可以提供一個更好的選擇嗎?用MySQL做這件事最有效的方法是什麼?
根據何時選擇數據,您無法自動執行重新排序。您可以編寫代碼來進行重新排序,但是您的應用程序需要在適當的時候觸發該代碼。 – MatBailie 2012-08-07 19:13:30
正確。我已經完成了所有這些工作。我遇到的問題是隨機重新分配排序順序的查詢,但保持該順序。 – Hugo 2012-08-07 19:15:04