表
ID | Name | NricNo
1 | Joshua | S1234567A
2 | Joshua | S1234567A
我对这张桌子有问题。 ID是此表的主键,但我需要使Name,NricNo也是唯一的。这意味着表不能具有Name和NricNo的重复值。我在visual studio 2010中这样做,需要帮助。谢谢:)
答案 0 :(得分:1)
您只需使用此查询更改表格即可。
ALTER TABLE ADD CONSTRAINT UNIQUE(); GO
- 示例: ALTER TABLE MyTable 添加约束AK_MyTable UNIQUE(Name,NricNo); GO
答案 1 :(得分:0)
这完全取决于您进行数据库交互的方式。如果您正在使用实体框架,只要您没有创建具有相同值的新对象,您应该没问题。
无论哪种方式,您都可以通过向数据对象添加ID字段来帮助自己。如果您使用的是ADO.NET,请检查save方法中的ID。如果它不等于默认值(您应该将其默认为-1以保证安全),然后更新,否则插入。保存在try / catch块中,因为在表上使用UNIQUE约束,如果尝试插入与UNIQUE键冲突的记录,则会抛出错误。如果您使用实体框架,那么大部分都将为您处理,但您仍应在save方法中使用try / catch。