Ik gebruikte de techniek van Leonard Challis met een paar wijzigingen:
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;
Als tijdelijke tabel mag er nooit meer dan één record zijn, dus u hoeft zich geen zorgen te maken over de primaire sleutel. Door het op null in te stellen, kan MySQL de waarde zelf kiezen, dus er is geen risico op het maken van een duplicaat.
Als u er zeker van wilt zijn dat u maar één rij hoeft in te voegen, kunt u LIMIT 1 toevoegen aan het einde van de INSERT INTO-regel.
Merk op dat ik ook de waarde van de primaire sleutel (1 in dit geval) aan mijn tijdelijke tabelnaam heb toegevoegd.