说明我的问题的最好方法是使用一个简单的例子。
想象一下以下文件(使用“在表中加载数据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字段中创建了一个重复值。相反,如果整个记录是重复的,它似乎只会忽略它。它似乎不验证字段以确保主键字段始终是唯一的。
为什么没有这样做?