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) к имени временной таблицы.