导出时如何自动将 auto_increment 键重置为 1?
Posted
技术标签:
【中文标题】导出时如何自动将 auto_increment 键重置为 1?【英文标题】:How to reset automatically auto_increment keys to 1 when exporting? 【发布时间】:2016-06-13 14:22:18 【问题描述】:我通过phpmyadmin
做了一个export
的数据库结构(没有数据)。然后我创建了另一个数据库并将之前导出的数据库导入其中。当import
完成后,我查看了新数据库的每个表的结构:我看到所有具有auto_increment
主键的表的auto_increment 选项都不是1!那么在执行export
时,如何使所有具有auto_increment
键的表中的auto_increment
为1?
【问题讨论】:
这不是回答您的问题吗:***.com/questions/3019698/… 你有哪个版本的phpmyadmin? 【参考方案1】:当您导出表格时,PHPMyAdmin 中有一个选项可以重置 AI,但您只需在表格定义中添加 AUTO_INCREMENT = 1
即可。
CREATE TABLE IF NOT EXISTS `tablename` (
...columns...
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1
对于一个空表,例如在此导出的目标点,重置 auto_increment 属性的另一种方法是运行
TRUNCATE TABLE mydb.tablename;
您可以轻松地为您的新 EMPTY SQL 数据库上的所有表动态地执行此操作。
在此处阅读更多信息:http://trebleclick.blogspot.co.uk/2009/01/mysql-set-auto-increment-in-phpmyadmin.html
知道了!
这是一个两步解决方案,使用 PHPMyAdmin
转到表 --> 操作,然后在 复制表 面板上复制没有数据的表结构并取消选中复选框 Add AUTO_INCREMENT value
。
然后您转到新复制的表并导出该表。
【讨论】:
我的数据库中有数百个表,因此为每个表编写此代码非常辛苦! 导出表结构,然后在SQL文件中进行查找替换并添加代码,就可以轻松创建脚本在正确的行尾插入文本 如果您将所有表导出到一个 SQL 文件中,则只需查找并替换以插入 AI 条件。 @pheromix 我不仅要导出表,还要导出视图、触发器和函数! 不!当时它是一张一张地做的,那不是一个好习惯!以上是关于导出时如何自动将 auto_increment 键重置为 1?的主要内容,如果未能解决你的问题,请参考以下文章