插入或更新(没有键)

我有一个有两个字段的表。可以有多个行,每个字段的值相同,但只有一行,两个值都相同。 嗯,这听起来不太好,所以这里有一些例子:
good stuff
a, 1
a, 2
b, 1
b, 2  < ==== all are unique combinations

bad stuff
a, 1
a, 1 <=== this permutation should only occur once
所以,作为伪代码:
if no row exists with both columns of the give values, then UPDATE INSERT a new row (else, do nothing).
该表没有键(是错的吗?)。有没有一个命令可以做到这一点,sort2ѭ?或者我首先要搜索,然后决定是否要插入? ODBC解决方案首选,虽然它目前只有MySql     
已邀请:
我不认为你正在寻找一个
upsert
查询 - 它会在找到密钥时更新,否则会插入。 您可以将多个列作为主键。这样做会在表上设置一个唯一约束,这将不允许重复插入。但是,在大多数数据库中,它会回复错误,因此如果您正在进行批量更新/复制,则不会提交任何更新。 在数据库术语中,将多个字段作为主键称为复合/复合/连接键。     
您可能正在寻找
INSERT ... ON DUPLICATE KEY UPDATE
。 (请注意,您必须在表中使用唯一键才能使其正常工作)     

要回复问题请先登录注册