Hom*_*0ar 2 mysql insert duplicates
我有一个分区表InnoDB与几个字段.我试图避免重复插入.
让我们说:
Field1 int null
Field2 int null
Field3 int null
Field4 int null
Field5 int null
Run Code Online (Sandbox Code Playgroud)
我在这些字段上创建了一个UNIQUE索引.我尝试插入一些带有NULL值的记录,然后尝试在MySql上使用IGNORE功能重新插入它们.
不幸的是,它似乎在使用NULL值时复制了记录.如果我尝试使用零而不是NULL情况一切正常,但我确实需要空值.
有任何想法吗?
这就是NULL的工作原理.请记住,两个NULL值的相等比较结果为NULL(在逻辑表达式中计算结果为FALSE).因此,即使您对Field1允许NULL值的列具有唯一约束,该表也可以具有多于1的记录,其中值为Field1NULL.如果要以不同的方式处理NULL,除了唯一约束之外,还需要编写BEFORE INSERT/UPDATE触发器,以检查表中是否存在Field1IS NULL中的记录(并引发错误以防止更新).
| 归档时间: |
|
| 查看次数: |
1686 次 |
| 最近记录: |