在mysql中重新排序/重置列唯一ID

时间:2012-08-07 16:20:33

标签: php mysql sql database

我不知道很多mysql。我在同一台服务器上有两个表:

A.artists

id | artist_name 
--------------------
8  | XXXX      |          
1  | YYYY      |          
5  | ZZZZ      |  

A.albums

id | artist_id | album_name
-----------------------------
1 |      5     | Album 1  
2 |      1     | Album 2
3 |      8     | Album 3

我想重新排序artist_id列,同时我想要从重新排序的A.artists id更改artist_id的{​​{1}}列。 这样的事情有可能吗?我怎样才能做到这一点?谢谢!

1 个答案:

答案 0 :(得分:0)

首先,您需要了解SQL中的表是无序的。因此,您无法指定表的顺序。您可以指定查询的顺序。

我的猜测是你要加入这两个表来获取相册的名称:

select al.*, ar.name
from albums al join
     artists ar
     on al.artist_id = ar.id
order by ar.name

您提出问题的方式是您要重新分配ID。通常,这不是必需的,因为id仅存在于唯一标识行。如果您有充分理由重新分配ID,请修改您的问题或提出新问题,包括原因。