| id | -> primary key, auto_increment
| v1 |
| v2 |
我想确保插入时没有重复的 (v1, v2) 对。是否可以通过SQL语句实现?目前我先做一个选择,如果没有结果我继续插入。
我想知道是否有更好的解决方案。
如果您不介意请求返回的错误(您可以在代码中处理它,或者如其他地方所述进行插入INSERT IGNORE
以完全抑制错误。),您可以在 v1、v2 上放置一个 UNIQUE 复合索引。
ALTER TABLE tablename
ADD UNIQUE INDEX unique_pair(v1,v2);
我相信你这样做的方式实际上是首选方法。但是,如果您对列有适当的约束,您可以尝试使用INSERT IGNORE 。