1
| id |  -> primary key, auto_increment
| v1 |
| v2 |

我想确保插入时没有重复的 (v1, v2) 对。是否可以通过SQL语句实现?目前我先做一个选择,如果没有结果我继续插入。

我想知道是否有更好的解决方案。

4

2 回答 2

2

如果您不介意请求返回的错误(您可以在代码中处理它,或者如其他地方所述进行插入INSERT IGNORE以完全抑制错误。),您可以在 v1、v2 上放置一个 UNIQUE 复合索引。

ALTER TABLE tablename
      ADD UNIQUE INDEX unique_pair(v1,v2);
于 2012-10-18T19:27:30.820 回答
1

我相信你这样做的方式实际上是首选方法。但是,如果您对列有适当的约束,您可以尝试使用INSERT IGNORE 。

于 2012-10-18T19:28:25.930 回答