У меня есть таблица «tb_products» в базе данных MySql с полем «ID» в качестве первичного ключа и автоматическим увеличением; как лучше всего в SQL выбрать несколько записей по идентификатору и скопировать их в ту же таблицу с новыми увеличенными идентификаторами?
Как скопировать несколько записей в MySql?
Ответы (2)
INSERT INTO tb_products
SELECT NULL id, field1, field2, field3, ...
FROM tb_products
WHERE id IN (id1, id2, id3, ...)
Список полей в предложении SELECT
должен включать все поля, кроме id
.
person
Barmar
schedule
26.02.2013
Поля в
SELECT
должны совпадать с количеством полей в таблице, в которую вы вставляете. Если вы не хотите копировать id
, вам нужно SELECT NULL
или добавить список полей в INSERT
(INSERT INTO table(field1,field2,...)
).
- person Rocket Hazmat; 26.02.2013
используйте вставку mysql, выберите http://dev.mysql.com/doc/refman/5.1/en/insert-select.html, и когда вы выбираете из существующей таблицы, вы просто опускаете выбор идентификатора и позволяете новой таблице генерировать новый идентификатор
person
bizzehdee
schedule
26.02.2013