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

bảng mysqldump mà không kết xuất khóa chính

Để giải quyết vấn đề này, tôi đã tra cứu câu hỏi này, tìm thấy câu trả lời của @ pumpkinthehead và nhận ra rằng tất cả những gì chúng ta cần làm là tìm + thay thế khóa chính trong mỗi hàng bằng NULL để mysql sẽ sử dụng giá trị auto_increment mặc định thay thế.

(your complete mysqldump command) | sed -e "s/([0-9]*,/(NULL,/gi" > my_dump_with_no_primary_keys.sql

Đầu ra ban đầu:

INSERT INTO `core_config_data` VALUES
    (2735,'default',0,'productupdates/configuration/sender_email_identity','general'),
    (2736,'default',0,'productupdates/configuration/unsubscribe','1'),

Đầu ra được biến đổi:

INSERT INTO `core_config_data` VALUES
    (NULL,'default',0,'productupdates/configuration/sender_email_identity','general'),
    (NULL,'default',0,'productupdates/configuration/unsubscribe','1'),

Lưu ý:Đây vẫn là một bản hack; Ví dụ:nó sẽ không thành công nếu cột tăng tự động của bạn không phải là cột đầu tiên, nhưng giải quyết vấn đề của tôi 99% thời gian.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trường hợp MYSQL trong câu lệnh chọn để kiểm tra null

  2. giới hạn hồ sơ bàn làm việc mysql

  3. Lưu trữ thông tin đăng nhập MySQL trong tập lệnh PHP ở đâu?

  4. Tạo cột boolean trong MySQL với giá trị mặc định là false?

  5. Không thể cài đặt mysql-python (phiên bản mới hơn) trong Windows