小编典典

mysqldump-仅导出结构而没有自动增量

mysql

我有一个MySQL数据库,我试图找到一种仅导出其结构而没有自动递增值的方法。mysqldump --no- data几乎可以完成这项工作,但是会保留auto_increment值。有没有不用PHPMyAdmin就能做到的方法(我知道它可以做到)?


阅读 560

收藏
2020-05-17

共1个答案

小编典典

你可以这样做 :

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

正如其他人所提到的,如果你想sed以正常工作,添加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是无用的,有时候会打破命令。请参阅此SO主题以获取解释。因此,最佳答案是:

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