У меня есть таблица, которая содержит много строк, упорядоченных по полю 'seq'. Я выбрал строки 6-9, и я хочу скопировать и вставить их в строку 3, например. Для этого я хотел бы создать запрос SQL, который делает следующее:Копировать - Вставить строки с использованием MySQL INSERT INTO
INSERT INTO my_table (seq, field1, field2....)
SELECT seq, field1,field2..
FROM my_table
WHERE id IN (234, 233,232)
(поле идентификатора поле автоматического приращения, которое идентифицирует выбранные мои строки).
Теперь - мне удалось дублировать строки в таблице. Чего не хватает, чтобы правильно обновить поле «Последовательность» следующим образом:
- В вставленного месте (3) мои строки должны содержать значения 3,4,5.
- Все исходные строки в этом месте должны быть увеличены на 3, чтобы теперь появилась исходная строка (seq = 3) (seq = 6), и все строки перемещаются на 3 строки вниз по таблице.
Возможно ли это с помощью SQL-запроса?
Я думаю, что смогу решить эту проблему, скопировав временную таблицу, а затем обновив переписку my_table. Таким образом, я бы не стал возиться с автоматическим приращением. –
Нет, вы не можете выполнять вставки и обновления в одном выражении. –