我有一个表像这样更新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