Mysql
 sql >> Base de données >  >> RDS >> Mysql

Insérer un enregistrement dans la table avec la position sans mettre à jour tous les champs de position des enregistrements

Je repenserais la conception de la base de données. Si vous allez être limité à environ 10 000 enregistrements, ce n'est pas si mal, mais si cela augmente sans limite, vous voudrez faire autre chose. Je ne sais pas ce que vous faites, mais si vous voulez une commande simple (en supposant que vous ne faites pas beaucoup de traversée), vous pouvez avoir un prev_id et next_id colonne pour indiquer les relations fraternelles. Voici cependant la réponse à vos questions :

update some_table 
set some_position = some_position + 1
where some_position > 5000 and some_position < 10000