一尘不染

在MySQL中切换两行的ID号

sql

我正在尝试使用php在mysql中切换两行的ID-我读得越多,我就越困惑。似乎有很多相互矛盾的信息。有没有人得到明确的答案。

例如,在初始状态下,我的行是

1-Peter-22-germany
2-mary-16-iceland
3-tom-29-france
4-michael-34-greece

然后我想交换第2行和第3行的ID,以便它看起来像这样

1-Peter-22-germany
3-mary-16-iceland
2-tom-29-france
4-michael-34-greece

因此,如果我随后按ID订购,我将拥有

1-Peter-22-germany
2-tom-29-france
3-mary-16-iceland
4-michael-34-greece

阅读 172

收藏
2021-03-10

共1个答案

一尘不染

如果ID是主键,则您不想更改它/可以更改它。 如果这仅用于排序,我建议创建一个“
order”列,该列是整数并对其进行排序。表架构对此很高兴看到,但是到目前为止,这是我的建议。

如果在输入行时自动创建ID,那么这个想法将是一个更大的问题。但是,现在我只是在推测,因为我不知道您的表架构。

这是有关主键的一些标准建议: 不要将它们视为唯一标识符之外的任何东西。

2021-03-10