【问题标题】:Mysql export with Auto_Increment=1使用 Auto_Increment=1 导出 Mysql
【发布时间】:2012-06-30 05:40:03
【问题描述】:

Mysql 工作台(或任何其他工具)有没有办法在没有数据的情况下导出数据库模式,并且不会自动将 AutoIncrement 值设置为表行数?

ex:我在 MySql Workbench Export 上使用--no-data option。假设在导出之前表上实际上有100行数据,那么导出的脚本将没有数据,但AUTO_INCREMENT=100在建表脚本上。

我需要能够动态创建一个空的数据库创建脚本以用于备份和部署。

【问题讨论】:

  • 如果是用来备份的,数据也在里面不是很重要吗? :)
  • 我只需要能够为应用程序的开发和“部署”目的生成部署脚本。对于数据库中的每一次更改,我都会创建一个部署脚本,而且我经常这样做。每次我需要返回并在所有表上设置 AUTO_INCREMENT=1 :(

标签: mysql export auto-increment


【解决方案1】:

是的,总是有办法的。 仅在 mysql 中导出结构时,需要取消选中一个复选框,即“对象创建选项”选项下的“AUTO_INCREMENT”(就在“开始”按钮上方),您将得到预期的结果。

如果您有任何疑问,请告诉我。

【讨论】:

  • 如何导出结构以及复选框在哪里?谢谢。
  • 那个复选框不存在
【解决方案2】:

我有同样的问题,但我已经解决了:

mysqldump --no-data=true -u username -p dbname > table.sql && sed -i 's/AUTO_INCREMENT=[0-9]\+/AUTO_INCREMENT=1/g' table.sql

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,终于找到了解决方案。 问题是当您导入数据时,它会将表的当前自动增量值存储到模型中。 如您所愿,您需要在将模型导出为 SQL 之前手动编辑此值。

    为此:

    1. 右键单击表名并选择Edit '<Table name>'(或双击它)
    2. Options 选项卡和General Options 下,将Auto Increment 值更改为1
    3. 保存您的模型
    4. 导出

    【讨论】:

      猜你喜欢
      • 2016-03-01
      • 1970-01-01
      • 2016-06-13
      • 1970-01-01
      • 2014-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-22
      相关资源
      最近更新 更多