Задача такая: есть блоки текста в таблице `id | text | created_at | ...`, которые могут быть разбиты на меньшие. Естественно, фрагменты не должны оказаться в конце с наибольшим id (primary_key, autoincrement), потому что по id упорядочивается вывод текста.
update sentences set id=id+1 where id>=6 order by id desc;
insert into sentences (id, name) values (6, 'trash')
Вообще, я думаю, что трогать autoincrement некрасиво, вдобавок я использую django orm, а это значит, что при наличии FK на запись, все ссылки при сдвиге сломаются.
Остается вариант упорядочивать выхлоп выборки по другому полю, например, по priority. Но это лишнее поле, которое еще нужно заполнять вручную, что лень.
Поэтому мне любопытно, как сделать это нормально.