Schalte den Primärschlüssel (ggf. weitere Fremdschlüssel) ab und nach dem UPDATE später wieder zu. (Und sorge zukünftig dafür, dass Primärschlüssel nie, aber auch nie, irgendeine Bedeutung haben (auch nicht als Kennung für bspw. Verträge (Ver.Nr.))!)
nun, das würde aber nach wie vor bedeuten, dass ich mind. 3 mysql-anfragen schreiben muss.
1. ALTER TABLE x ADD PRIMARY KEY ('ID');
2. UPDATE ID=IF(ID = 1, 3, 1) WHERE ID=1 OR ID=3;
3. ALTER TABLE x DROP PRIMARY KEY;
in einer Abfrage geht das nicht?