У меня есть список продуктов в базе данных и хочу управлять последовательностью от администратора.
Если я введу новый продукт в базу данных, он придет 1. (уже есть 6 записей 1,2,3,4,5,6) новый продукт будет последовательность 1. новая последовательность будет 1,2,3,4, 5,6,7 и новый рекорд будет 1.
если во время вставки новой записи я хочу занять 3-ю позицию, тогда другая позиция 3 станет 4, а позиция 4 станет 5 и так далее.
Я использую MySQL и PHP.
Я получил ответ, когда администратор будет добавлять продукт, который мы получили новый продукт всегда в качестве 1-й позиции, используя следующий запрос: —
// позиция по умолчанию будет установлена как 0
вставить в user (name, inum) значения (‘product name’, ‘0’);
SET @i = 0;
ОБНОВЛЕНИЕ пользователя SET inum = @i: = @i + 1 ORDER BY inum;
Что мне нужно сделать, если я хочу вставить новую запись в позицию 3, а остаток позиции записи увеличится на 1.
Приянк по умолчанию, если вы объявляете идентификатор столбца или любое имя применяется автоматическое приращение чем во вставке они принимают целочисленное значение
как 1, чем 2, чем 3, поэтому нет повторяющихся значенийи согласно вашей сортировке вы можете использовать
order by id desc
Таким образом, вы можете сначала получить последние данные и так далее.
После обновления вашего вопроса вы можете использовать ниже запрос
UPDATE TABLE table SET ID += 1 WHERE ID >= 9;
INSERT INTO TABLE (ID, ...) VALUES (9, ...);
Других решений пока нет …