![]() |
1
3
如果您可以实现一种通用机制来避免列_a/b/c上的重复,那么您只需在两列上添加一个复合的唯一约束,例如
如果在表上发生任何将生成重复项的操作,MySQL将引发约束冲突错误。您可以忽略错误
在这 demo on DB Fiddle ,我们将插入3个记录,其中有2个重复项,如预期的那样,我们将在表中插入2个记录。
另一方面,如果要将重复检查限制为仅一个查询,和/或如果要避免在重复键上浪费自动递增序列,则可以将
如果尝试插入副本,查询将不做任何操作(并且不会生成错误或警告)。 |
![]() |
2
3
一种方法是在三列上创建一个唯一索引。如果试图插入重复的行,数据库将拒绝插入。不需要特殊查询。这应该适用于任何关系数据库,而不仅仅是MySQL。 使用以下命令创建唯一索引:
插入方式如下:
如果已经存在列值相同的行
|
|
Johnny T · 基于当前值的SQL合并表[重复] 5 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 5 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 5 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 5 月前 |
![]() |
Sax · 规范化Google表格(第一步) 5 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 5 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 5 月前 |