MYSQL:如何“重新排序”表

我有一张像下面的桌子,

| id  | name   | color  |

------+--------+---------

| 1 | pear | green |

| 2 | apple | red |

| 3 | banana | yellow |

| 4 | grape | purple |

我想使用“名称”列按字母顺序重新排序,并使用此新顺序重置ID(自动递增),以得到以下结果

| id  | name   | color  |

------+--------+---------

| 1 | apple | red |

| 2 | banana | yellow |

| 3 | grape | purple |

| 4 | pear | green |

:如何使用MYSQL执行此操作?

回答:

请问您为什么要这么做?

如果有人修改了任何名称值或插入了新行,则会使您的订购方案混乱。试图以表的其他位置(名称列)已经可用的PK顺序存储一些含义似乎是多余的,因此是个坏主意。

更好的解决方案是不用担心ID列的值,而在应用程序中使用数据时仅对名称列进行排序。

对非回答类型的回复表示抱歉。通常,我认为您有充分的理由,只给出直接回答您要尝试做的事情的答案,但是我从您的其他问题中注意到,您仍处于数据库设计的早期学习阶段,因此我想提供帮助为您指明正确的方向,而不是帮助您朝着不明智的方法前进。

以上是 MYSQL:如何“重新排序”表 的全部内容, 来源链接: utcz.com/qa/422160.html

回到顶部