我有一个有两个字段的表。可以有多个行,每个字段的值相同,但只有一行,两个值都相同。
嗯,这听起来不是很好,所以这里有一些例子: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).
表没有键(是错的吗?)。有没有一个命令可以执行此操作,有点INSERT IF NOT EXISTS
?或者我首先要搜索,然后决定是否要插入?
首选ODBC解决方案,尽管它目前只有MySql
答案 0 :(得分:2)
您可能正在寻找INSERT ... ON DUPLICATE KEY UPDATE
。 (请注意,您必须在表格中有一个唯一键才能使其生效)
答案 1 :(得分:1)
upsert
查询 - 如果找到密钥会更新,否则会插入。在数据库术语中,将多个字段作为主键称为复合/复合/连接键。