Cita: error duplicate primary key
Ese error dice que el nuevo valor que estás tratando de poner en ese registro,
ya existe en otro registro de la misma tabla.
Básicamente, antes de intentar hacer el UPDATE, debes verificar con un SELECT que el nuevo valor no exista ya. Si existe, estás cometiendo un error grave: O lo eliminas o no podrás hacer ese UPDATE.