Използвах техниката на Леонард Чалис с няколко промени:
CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM table WHERE primarykey = 1;
UPDATE tmptable_1 SET primarykey = NULL;
INSERT INTO table SELECT * FROM tmptable_1;
DROP TEMPORARY TABLE IF EXISTS tmptable_1;
Като временна таблица никога не трябва да има повече от един запис, така че не е нужно да се притеснявате за първичния ключ. Задаването му на null позволява на MySQL да избере самата стойност, така че няма риск от създаване на дубликат.
Ако искате да сте супер сигурни, че получавате само един ред за вмъкване, можете да добавите LIMIT 1 към края на реда INSERT INTO.
Имайте предвид, че също добавих стойността на първичния ключ (1 в този случай) към името на моята временна таблица.