Vous essayez d'effectuer une mise à jour, pas insérer de nouvelles lignes.
Pour ce faire, vous devez définir identity_insert
ON et copier la ligne que vous souhaitez mettre à jour à une nouvelle ligne avec la nouvelle valeur d'ID, puis supprimez l'ancienne ligne (en supposant qu'aucun FK est référençant)
Quelque chose le long des lignes de:
set identity_insert GeoCountry on
go
insert into GeoCountry (all columns including IDentity column)
select 18, (all columns except IDentity column)
from GeoCountry where CountryID = 250
-- Delete will only work if no referencing FK's
delete GeoCountry where CountryID = 250
set identity_insert GeoCountry off
go
[Étant donné que vous essayez de le mettre à jour, qui suggère qu'il est encore en cours d'utilisation (par exemple en faisant référence à FK de) et qui rend les choses plus compliquées ... ]
Ceci est trop verbeux. Trop d'explications pour un simple "Vous ne pouvez pas". vous devez ré-insérer avec une nouvelle identité. –
@Amir M .: Incorrect. –