当前位置: 首页 > 面试题库 >

MYSQL:如何“重新排序”表

柳景胜
2023-03-14
问题内容

我有一张像下面的桌子,

| 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列的值,而在应用程序中使用数据时仅对名称列进行排序。

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



 类似资料:
  • 问题内容: 我需要移动现有列的位置(以获得更好的可见性)。 如何做到这一点而又不影响数据? 问题答案: 修改也可以。看一看:

  • 问题内容: 如果我有列表,如何以任意方式重新排序商品? 编辑:我不想洗牌。我想以预定义的方式对它们进行重新排序。(例如,我知道旧列表中的第3个元素应成为新列表中的第一个元素) 问题答案: 你可以这样

  • 看看下面的伪C++代码: 有两个函数带有参数。参数计数大于三,但为了简单起见,例如设为三。 -它是模板函数,具有与相同的参数计数,并且参数具有与相同的类型。但是(!)参数上的顺序可以(或不能)不同。例如: 那么如何在中重新排序参数,以便使用正确的参数序列调用呢?

  • 问题内容: df =DataFrame({‘a’:[1,2,3,4],’b’:[2,4,6,8]}) >>> df[‘x’]=df.a + df.b >>> df[‘y’]=df.a - df.b >>> df a b x y 0 1 2 3 -1 1 2 4 6 -2 2 3 6 9 -3 3 4 8 12 -4 现在,我想重新排列列顺序,按如下方式使“ x”,“ y”列成为第一列和第二列: 但

  • 本文向大家介绍MySQL ENUM值如何排序?,包括了MySQL ENUM值如何排序?的使用技巧和注意事项,需要的朋友参考一下 在MYSQL中,我们知道每个ENUM值都与一个索引号相关联。排序ENUM值的基础也是它们的索引号。此外,索引号取决于列规范中列出枚举成员的顺序。例如,在ENUM('GOOD','EXCELLENT')列中,'GOOD'排在'EXCELLENT'之前。换句话说,我们可以说索

  • 问题内容: 如何在不更改HTML源代码的情况下重新排序div? 例如,我希望div以#div2,#div1,#div3的顺序显示,但是在HTML中它们是: 谢谢! 问题答案: 没有使用css对元素进行重新排序的万能方法。 您可以通过将它们全部向右浮动来水平反转它们的顺序。或者,您可以将它们相对于正文或其他包含元素的绝对位置进行定位- 但这对元素的大小以及相对于页面上其他元素的位置存在严格的限制。