我注意到我可以使用UNIQUE键将多个NULL值插入到表中:
INSERT INTO table (autoincrementkey, uniquekey, id) VALUES (NULL, NULL, 0), (NULL, NULL, 1), (NULL, NULL, 2)
这样可以很好地插入3行(是的,唯一键是NULL =是)
但是,当我尝试使用具有相同查询的文件加载数据时,它只插入1个NULL值,这是第一个。
LOAD DATA LOCAL INFILE $file.csv INTO TABLE table FIELDS TERMINATED BY ',' ENCLOSED BY '"'
有没有什么方法可以在UNIQUE列上插入多个NULL值,请将LOAD DATA INTO吗?
提前致谢!
=============
[UPDATE]
我注意到uniquekey获取0而不是NULL,这就是为什么只有第一个条目才能到达数据库。 在CSV文件中,它看起来像这样:
,,1
,,2
,,3
但是默认情况下uniquekey设置为NULL,我不知道为什么它会变为0:
ALTER TABLE `table` CHANGE `uniquekey ` `uniquekey ` INT(10) DEFAULT NULL;
[更新2]
好的,我明白了!! 我以为(,, 1)会插入NULL,NULL,1。 但事实并非如此,它必须是(NULL,NULL,1)才能得到你所看到的。