I tilfælde af MySQL 8.0 eller nyere kan du bruge næste forespørgsel:
INSERT IGNORE INTO products
SELECT
id_product,
143 as id_category,
(
SELECT MAX(position)
FROM products
WHERE id_category = 143
) +
(row_number() over (order by id_product)) as position
FROM products
WHERE id_category = 12;
Resultat fra
Får du forskelle mellem to borde?
MySQL:hvorfor virker denne maks. N medlemmer pr. gruppeforespørgsel?