更新SQL查询以更新主键

时间:2014-12-19 18:24:21

标签: sql

我有一张表,主键是2列ORG_IDORG_NAME的组合。

我想运行更新语句来更新ORG_NAME,无论ORG_ID是什么,即ORG_ID =任何

如果我提供特定的ORG_ID

,我尝试了下面的工作
update org 
set org_name = 'abcd' 
where org_name = 'intl' and org_id = 100

但我想要的是:

update org 
set org_name = 'abcd' 
where org_name = 'intl'

上述查询无效,因为它是主键违规。我需要上面的查询来条件 - 和org_id =任何

有办法吗?

请注意,这是唯一的方法,因为我现在无法修改源代码。

1 个答案:

答案 0 :(得分:1)

假设您的表中有两行数据:

Orgid=100, Orgname = 'qwerty', and Orgid=100, Orgname = 'azerty'

如果您现在尝试将这两行更新为具有相同的OrgName,则会出现密钥违规。在我看来,您可能需要重新考虑您正在做的事情以及您如何存储数据。