我有一个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)

New UPDATE thanks to comments.

\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

Mysql相关问答推荐

我可以在姓名和姓名日期之间进行搜索吗?

如何确保 SQL 记录的列不引用它自己的主键?

关于设置为 NOT NULL 时的 CHAR 默认值

如何使用等于、喜欢和不等于在 json 字段上编写查询?

为什么order by子句可以利用索引?

在表中找到最大值,然后分别显示SQL组和每个SQL组中的最大值计数

为什么这个查询需要超过 5 秒才能运行?

创建将列与多个值进行比较的索引

如何解决这个特定的 SQL 查询?我的解决方案还返回不想要的值

如何在每个国家/地区查询 GHTorrent(类 SQL 语言)的最常用语言

了解 SQL 中的元组语法

MySql查询无结果

使用带有 ELSEIF 和 ELSE 的 3 列更新问题

脚本超时,如果要完成导入,请重新提交相同的文件,导入将恢复

你如何 OR 两个 LIKE 语句?

使用 mysql 处理非常大的数据

我可以在单个 Amazon RDS 实例上创建多少个数据库

MySQL术语约束与外键的区别?

Yii2 如何进行 where AND 或 OR 条件分组?

MySql 两个时间戳之间的天数差异?