MySQL: игнорировать ошибки при импорте?


118

Я импортирую довольно большую базу данных. В .sqlфайле почти 1000000 строк. Проблема в том, что я получаю синтаксическую ошибку при попытке импортировать базу данных. Он говорит:

ОШИБКА 1064 (42000) в строке 8428420: у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис рядом с '
Неустранимая ошибка : максимальное время выполнения 600 секунд превышено в

Обычно я просто открывал файл .sql и исправлял ошибку. Но мой компьютер действительно пытается открыть этот файл.

Есть ли способ игнорировать ошибки при импорте базы данных MySQL?


1
Используйте редактор, который не открывает весь файл в памяти (это проблема, которую вы пытаетесь отредактировать) и использует отображение на основе поиска для редактирования в Windows. Я могу порекомендовать Notepad ++ для этой задачи
Barkermn01

Ответы:


286

Используйте флаг --force( -f) при импорте mysql. Вместо того, чтобы останавливаться на заявлении о нарушении, MySQL продолжит и просто записывает ошибки в консоль.

Например:

mysql -u userName -p -f -D dbName < script.sql

4
если кто-то еще задавался вопросом о -Din -D dbName, это то же самое, что и уточнение--database=dbName
Aamnah

Я протестировал оба, -D dbNameи --database=dbNameэто сработало @Aamnah
tcadidot0
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.