У меня есть таблица с 9 записями, но я хочу вставить строку между 5-й и 6-й записью.Как вставить строку в таблицу между двумя существующими строками в Sql
ответ
Как правило, вы не вставляете строку в определенное место в таблице.
Если строка «порядок» значительна и имеет некоторую специальную семантику, данные отражают это с соответствующим столбцом в структуре таблицы.
Затем используйте SELECT ... ORDER BY ..., чтобы отсортировать строки.
если вы настаиваете на
UPDATE mytable SET id = id + 1 where id > 5 ORDER BY id ASC
insert into mytable (id,..) values (6,...)
Вам нужно ЗАКАЗАТЬ по id DESC, чтобы он увеличивался снизу вверх и избегал дублирования ошибок id. – postelrich
@postelrich это так правильно! –
Почему? Не хотите ли вы заказывать свои результаты, когда вы запрашиваете таблицу? –
Зачем? Физический порядок строк в хранилище таблиц ничего не значит для производительности, и в большинстве баз данных то, что вы просите, невозможно. –
Думаю, он хочет переместить, например, песню в списке за одну позицию перед другой песней? ... –