首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL中能否用两个字段来唯一表示一条记录?解决办法

2012-01-08 
SQL中能否用两个字段来唯一表示一条记录?我是要实现存在就更新,不存在就插入的功能,但是对于存在的判定,

SQL中能否用两个字段来唯一表示一条记录?
我是要实现"存在就更新,不存在就插入"的功能,但是对于存在的判定,是依据两个字段的,即当table1中的c1和c2均相同的记录,才认为是重复的。
如果是只要求一个字段的,那么把c1设定为主键,通过insert into table1(c1,c2) values('c1', 'c2') ON DUPLICATE KEY UPDATE c2='c2';就可以做到了。

但是很显然表中无法设定两个主键。

而且,如果用两条sql语句,即先select看看存不存在,然后再决定是insert还是update,则要当心并发问题了。可能甲select之后,乙insert,导致甲随后insert失败。

请问这个该怎么做好?

[解决办法]
mySQL是否有唯一约束?我对mySQL不了解
不然就改主键好了

热点排行