我有一个表有一些数据损坏。
该表具有一对多关系的多方面,例如order和orderItem。
订单商品位于列表中,代码会使用索引对订单进行排序。索引有时会失序,因此索引条目不是0,1,2,3等,而是0,3,4,4或1,2,3,4,5等等。
我有一个查询,用于识别发生这种情况的订单,但现在希望能够
我正在使用MySQL 5.077。
此链接有一个针对不同数据库的解决方案,但不确定如何采用MySQL。 http://haacked.com/archive/2004/02/28/sql-auto-increment.aspx
任何提示赞赏。
答案 0 :(得分:1)
怎么样:
SET @RowCount = -1;
UPDATE <table>
SET <index> = (@RowCount := @RowCount + 1)
WHERE ...
ORDER BY ...;
如果需要按特定顺序重新分配索引,可以使用ORDER BY。我认为这不会起作用,但它对我有用。