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

mysqldump - Chỉ xuất cấu trúc mà không có autoincrement

Bạn có thể làm điều này:

mysqldump -u root -p -h <db-host> --opt <db-name> -d --single-transaction | sed 's/ AUTO_INCREMENT=[0-9]*\b//' > <filename>.sql

Như những người khác đã đề cập, Nếu bạn muốn sed để hoạt động bình thường, hãy thêm g (cho g thay thế lobal) tham số như thế này:

mysqldump -u root -p -h <db-host> --opt <db-name> -d --single-transaction | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' > <filename>.sql

(điều này chỉ hoạt động nếu bạn đã cài đặt Công cụ GUI:mysqldump --skip-auto-increment )

CẬP NHẬT mới nhờ nhận xét.

\b là vô ích và đôi khi sẽ phá vỡ lệnh. Xem chủ đề SO này để được giải thích. Vì vậy, câu trả lời được tối ưu hóa sẽ là:

mysqldump -u root -p -h <db-host> --opt <db-name> -d --single-transaction | sed 's/ AUTO_INCREMENT=[0-9]*//g' > <filename>.sql


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mô hình dữ liệu hiệu quả cho các truy vấn phạm vi

  2. SQL injection không hoạt động chính xác

  3. CURRENT_DATE / CURDATE () không hoạt động dưới dạng giá trị DATE mặc định

  4. Làm thế nào để buộc tên bảng phân biệt chữ hoa chữ thường?

  5. Cái nào tốt hơn một truy vấn lớn hay nhiều truy vấn nhỏ?