如何在HeidiSQL导入SQL时忽略错误并继续执行剩余语句?
解决HeidiSQL执行批量SQL时跳过错误继续执行的方法
调整HeidiSQL执行参数
加载你的SQL文件后,点击执行按钮(闪电图标)旁的下拉箭头,勾选*“遇到错误时继续”*选项,再执行整个脚本。这样单条语句触发“value already exists”错误时,HeidiSQL会跳过这条,继续执行后续语句。修改SQL语句避免触发错误
把普通的INSERT语句改成INSERT IGNORE,当遇到主键或唯一键重复时,这条插入会被直接忽略,不会抛出异常中断执行。示例:-- 原语句 INSERT INTO your_table (id, name) VALUES (100, 'test'); -- 修改后 INSERT IGNORE INTO your_table (id, name) VALUES (100, 'test');如果你不想完全忽略,而是希望重复时更新现有数据,可以用
ON DUPLICATE KEY UPDATE:INSERT INTO your_table (id, name) VALUES (100, 'test') ON DUPLICATE KEY UPDATE name = VALUES(name);拆分脚本执行(可选)
如果以上方法都不想用,也可以把SQL文件拆分成多个小文件,逐个执行排查错误语句;或者用HeidiSQL的批量执行功能,设置每N条语句为一组执行,不过这个方法效率不如前两种。
内容的提问来源于stack exchange,提问作者Salvatore
相关产品推荐
相关产品推荐

