Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Bạn có thể tự động tạo tệp mysqldump không thực thi các ràng buộc khóa ngoại không?

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ệu
mysql -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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL thả bảng số lượng lớn nơi bảng như thế nào?

  2. Làm cách nào để kiểm tra loại động cơ MySQL cho một bảng cụ thể?

  3. Mysql - chọn id phù hợp với tất cả các thẻ

  4. Khi nào sử dụng utf-8 và khi nào sử dụng latin1 trong MySQL?

  5. Cách xử lý đúng ký tự quốc tế trong PHP / MySQL / Apache