【发布时间】:2010-05-17 21:26:08
【问题描述】:
如果满足条件,是否可以插入新行?
例如,我有一张没有主键也没有唯一性的表
+----------+--------+
| image_id | tag_id |
+----------+--------+
| 39 | 8 |
| 8 | 39 |
| 5 | 11 |
+----------+--------+
如果 image_id 和 tag_id 的组合不存在,我想插入一行 例如;
INSERT ..... WHERE image_id!=39 AND tag_id!=8
【问题讨论】:
-
有什么理由不在两列(组合)上放置唯一约束,执行插入并检查由于违反约束而导致的失败?
-
不,完全没有理由。两列上的唯一约束完美地工作。感谢您的刷新,简单的解决方案。有时我们会忽略一些事情,让事情变得比实际情况更复杂。
-
如果尝试添加重复行很常见,我不知道约束是否是最好的做法。