MySQL - 加载Infile允许重复的主键条目

时间:2014-04-13 22:04:53

标签: mysql

说明我的问题的最好方法是使用一个简单的例子。

想象一下以下文件(使用“在表中加载数据Infile”命令加载到MySQL中)

Color,Shape
red,square
blue,triangle
green,circle

(注意:我的主键=颜色。唯一键=形状)

无论我使用该命令多少次,我仍然(正确)只有3条记录,因为它不允许重复记录。

但是,如果我在MySQL中修改记录3并将其从圆圈更改为菱形并重新运行“加载数据”命令,我最终会得到4条记录。

Color,Shape
red,square
blue,triangle
green,diamond
green,circle

我的主键字段中现在有2个绿色值。如果我尝试编辑其中一个,我会收到“主键字段的重复条目”错误。

我原本希望Load Data Infile命令跳过记录,因为它在Primary Key字段中创建了一个重复值。相反,如果整个记录是重复的,它似乎只会忽略它。它似乎不验证字段以确保主键字段始终是唯一的。

为什么没有这样做?

0 个答案:

没有答案