更新时跳过TSQL列

更新时跳过TSQL列,tsql,Tsql,我正在寻找一种绕过更新列更新的方法(对于PK)。所有这些都是因为我需要在2个不同的数据库上运行脚本。1的ID为PK,而另一个没有。 因此,如果我跑步: UPDATE [MyTable] SET [ID]=1 [Name]='Test' WHERE [RealUniqueIdentifier] = N'0018b972-914c-478f-8b5c-c5abdf0e47ea' 按要求编辑: 中央数据库没有主键,但[RealUniqueIdentifier]列是一个uniqueidentifier

我正在寻找一种绕过更新列更新的方法(对于PK)。所有这些都是因为我需要在2个不同的数据库上运行脚本。1的ID为PK,而另一个没有。 因此,如果我跑步:

UPDATE [MyTable] SET
[ID]=1
[Name]='Test'
WHERE [RealUniqueIdentifier] = N'0018b972-914c-478f-8b5c-c5abdf0e47ea'
按要求编辑:

中央数据库没有主键,但[RealUniqueIdentifier]列是一个uniqueidentifier并自动插入

远程数据库: [ID]是一个PK [RealUniqueIdentifier]列是一个uniqueidentifier并自动插入,但在整个DBs中是相同的

因此,在第一个数据库中,我将得到“无法更新标识列'ID'

我正在寻找一种运行更新的方法,如果是PK,则不更新列ID,但仍更新列[Name]

你知道有没有办法做到这一点

多谢各位


弗洛德

我对此感到困惑。为什么不把
[ID]=1
放在
Where
子句中呢?能否添加一个示例,说明具有此表的两个数据库之间的表结构差异?这将使您的问题更容易回答。因此,1个数据库是一个中央数据库(ID不是PK的数据库),多个数据库位于远程计算机上(ID是PK)。远程数据库之间的ID可能不同,因为它是PK。作为免责声明,我没有设计数据库,也不能修改它们,否则客户的应用程序将崩溃