Mysql
 sql >> Database >  >> RDS >> Mysql

mysqldump - Esporta solo la struttura senza autoincremento

Puoi farlo:

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

Come accennato da altri, Se vuoi sed per funzionare correttamente, aggiungi il g (per g sostituzione lobale) parametro come questo:

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

(funziona solo se hai installato gli strumenti GUI:mysqldump --skip-auto-increment )

Nuovo AGGIORNAMENTO grazie ai commenti.

Il \b è inutile e talvolta interromperà il comando. Vedi questo SO argomento per spiegazioni.Quindi la risposta ottimizzata sarebbe:

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