我尝试使用命令行从sql文件导入表数据。
此数据内容在归档url
中重复。
但表中的字段url
是唯一的。因此,当我尝试插入数据时,我收到错误“Dublicate entry”
如何导入所有跳过此错误的数据?
答案 0 :(得分:2)
您可以使用--force(-f)标志。
mysql -u userName -p -f -D dbName < script.sql
来自man mysql
:
· - force,-f
即使发生SQL错误也继续。
答案 1 :(得分:1)
答案 2 :(得分:0)
如何导入所有跳过此错误的数据?
暂停索引 - &gt;运行批量插入 - &gt;重新创建索引
答案 3 :(得分:0)
如果您使用的是insert
,则可以使用ignore error
或on duplicate key update
忽略错误(最好是因为它只会忽略重复的密钥错误)。
如果您使用load data infile
,则可以使用ignore
关键字。如documentation:
如果指定
IGNORE
,则复制现有行的行 唯一键值被丢弃。有关更多信息,请参阅比较 IGNORE关键字和严格SQL模式。
或者,按照我通常的方式行事: