2012-01-09 29 views
7

Tôi có một tệp kết xuất lớn khoảng 40G về kích thước và tôi cần phải đưa trở lại vào cơ sở dữ liệu vì có một số bản ghi bị thiếu sau khi khôi phục. Có cách nào dễ dàng để tôi có thể bí mật INSERT thành INSERT IGNORE trong tệp kết xuất để tránh các lỗi mục trùng lặp không? tải tập tin vào một trình soạn thảo văn bản có vẻ như không đi đến tôi. cảm ơn bạn rất nhiều trướcChuyển đổi tệp tin Mysql Dump từ INSERT sang INSERT IGNORE

Trả lời

9

Nếu bạn sử dụng một hệ điều hành unix-like, bạn có thể sử dụng sed:

cat file.sql | sed s/"^INSERT"/"INSERT IGNORE"/g > updated.sql 
1

Sử dụng ứng dụng xử lý văn bản như sed từ dòng lệnh để thực hiện tìm kiếm thay thế trên hàng nhập của bạn.

+2

sử dụng "sed -i 's/chèn/chèn bỏ qua /' tên tập tin 'dòng lệnh – Anton

14

Ngoài ra còn có một công tắc cho mysqldump

--insert-bỏ qua trong mysqldump