Имам таблица "tb_products" в базата данни MySql с поле "ID" като първичен ключ и автоматично нарастване; каква е най-добрата практика в SQL за избиране на множество записи по ID и копирането им в една и съща таблица с нови увеличени идентификатори?
Как да копирате множество записи в 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