mysqldump
lệnh đi kèm với MySQL kể từ phiên bản 4.1.1
theo mặc định tạo ra một tập lệnh tắt kiểm tra khóa ngoại. Dòng sau được bao gồm gần đầu tệp kết xuất:
/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40014 ... */
cú pháp là nhận xét có điều kiện
sẽ được thực thi trên MySQL phiên bản 4.0.14 trở lên. Cài đặt kiểm tra khóa ngoại cũ được khôi phục ở cuối tệp kết xuất:
/*!40014 SET [email protected]_FOREIGN_KEY_CHECKS */;
Lưu ý rằng các nhận xét có điều kiện được ứng dụng khách diễn giải (chứ không phải máy chủ). Nếu bạn tải tệp kết xuất với một ứng dụng khách không hỗ trợ chúng, thì kiểm tra khóa ngoại sẽ không bị vô hiệu hóa và bạn có thể gặp lỗi. Để có kết quả tốt nhất, tôi khuyên bạn nên tải các tệp kết xuất bằng ứng dụng khách dòng lệnh mysql chính thức:
Cơ sở dữ liệumysql -hserver -uuser -p database < dumpfile.sql
Cũng cần lưu ý rằng nếu mysqldump
được chạy với --compact
thì các lệnh tắt và bật lại kiểm tra khóa ngoại sẽ bị bỏ qua khỏi tệp kết xuất.