我有一个MySQL数据库,我试图找到一种方法,只导出它的 struct ,而不导出自动增量值.mysqldump --no-data
几乎可以完成这项工作,但它保持了自动增量值.有没有不使用PHPMyAdmin(我知道它可以做到)的方法?
我有一个MySQL数据库,我试图找到一种方法,只导出它的 struct ,而不导出自动增量值.mysqldump --no-data
几乎可以完成这项工作,但它保持了自动增量值.有没有不使用PHPMyAdmin(我知道它可以做到)的方法?
你可以这样做:
mysqldump -u root -p -h <db-host> --opt <db-name> -d --single-transaction | sed 's/ AUTO_INCREMENT=[0-9]*\b//' > <filename>.sql
正如其他人提到的,如果希望sed
正常工作,请添加g
(用于g全局替换)参数,如下所示:
mysqldump -u root -p -h <db-host> --opt <db-name> -d --single-transaction | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' > <filename>.sql
(这仅在安装了GUI工具时有效:mysqldump --skip-auto-increment
)
\b
没用,有时会 destruct 命令.请看这SO topic条解释.
mysqldump -u root -p -h <db-host> --opt <db-name> -d --single-transaction | sed 's/ AUTO_INCREMENT=[0-9]*//g' > <filename>.sql