Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Melhor maneira de armazenar listas ordenadas em um banco de dados?


Se você não estiver procurando por uma solução do tipo "subir / descer" e, em seguida, optar por adicionar na parte inferior da lista, aqui estão mais algumas dicas:

A inserção de novas linhas em uma posição específica pode ser feita assim:(inserindo na posição 3)
UPDATE usermovies SET order_number = ordernumber + 1 
   WHERE ordernumber > 3 and user_id = ?;
INSERT INTO usermovies VALUES (?, 3, ?);

E você pode excluir de maneira semelhante:(excluindo a posição 6)
DELETE usermovies WHERE order_numer = 6 and user_id=?;
UPDATE usermovies SET order_number = ordernumber - 1 
   WHERE ordernumber > 6 and user_id = ?;