我尝试使用CONCAT函数为表创建id。我有以下代码
LOAD DATA INFILE '/blah.txt'
INTO TABLE blah
CHARACTER SET utf8
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(@a, @b, c, d, e, f)
SET id=Concat(@a,'+',@b),a=@a,b=@b
我得到了结果
ERROR 1062 (23000): Duplicate entry '+' for key 'PRIMARY'
这意味着值无法传递给变量。但我不知道为什么。
答案 0 :(得分:1)
我能想到的一个原因是你的txt文件中有空行会给@a& @b为null。
因此,id将变为'+'。如果有多个空行,则所有行都将生成id ='+'。因此,当MySQL尝试为主键列id插入重复条目时会出现此错误。