Mysql
 sql >> Database >  >> RDS >> Mysql

Il modo migliore per archiviare gli elenchi ordinati in un database?

Se non stai cercando una sorta di soluzione "sposta su / sposta giù" e quindi stai utilizzando per impostazione predefinita l'aggiunta in fondo all'elenco, ecco alcuni altri suggerimenti:

L'inserimento di nuove righe in una posizione specifica può essere fatto in questo modo:(inserimento in posizione 3)

UPDATE usermovies SET order_number = ordernumber + 1 
   WHERE ordernumber > 3 and user_id = ?;
INSERT INTO usermovies VALUES (?, 3, ?);

E puoi cancellare in modo simile:(cancellando la posizione 6)

DELETE usermovies WHERE order_numer = 6 and user_id=?;
UPDATE usermovies SET order_number = ordernumber - 1 
   WHERE ordernumber > 6 and user_id = ?;