本帖最后由 许庭洲 于 2012-10-9 08:20 编辑
主键是在同一张表中必须是唯一的,如果在进行数据更新的时候指定的主键与表中已有的数据
重复的话则会导致违反主键约束的异常。
T_Debt 表:
FNumber FAmount FPerson
1 200.00 jim
2 300.00 jim
3 123.00 Tom
T_Debt表中FNumber字段是主键,如果我们执行下面SQL:
UPDATE T_Debt set FNumber = '2' WHERE FPerson = 'Tom'
由于表中已经存在一条FNumber字段为2的记录,所以运行这句SQL的时候会报出类似如下的
错误信息:
违反了PRIMARY KEY 约束‘PK_T_Debt_1920BF5C'。不能在对象'dbo.T_Debt'中插入重复键。
而如果我们为FNumber设置一个不重复值的话,则会插入成功,执行下面的SQL:
UPDATE T_Debt set FNumber = '8' WHERE FPerson = 'Tom'
此句SQL则可以正常执行成功。执行SELECT * FROM T_Debt来查看表中的数据:
FNumber FAmount FPerson
1 200.00 jim
2 300.00 jim
8 123.00 Tom |
|