使用MySQLdump时去除auto_increment=*的方式_易数手机数

日期:2014-07-13 / 人气: / 来源:网络

MySQL 备份或者数据库架构的汇出, 都会使用 mysqldump 来汇, 备份资料/还原都很方便, 但是汇出数据库架构这方面, 对于 AUTO_INCREMENT 的处理就有点小麻烦了.
MySQL 汇出 DB Schema 的参数:(不汇出资料)
mysqldump -u root -d DB_NAME # "-d"
就不会将资料一起汇出来

Database Schema 汇出范例
因为 DB Schema 汇出的动作, 若有资料, 且资料内容有自动累加值(AUTO_INCREMENT)的字段, 汇出的内容在 Create Table 的结尾, 会纪录下一笔新资料要从第几个序号开始, 所以不会从 1 号开始(若 AUTO_INCREMENT=9, 新增那笔就会由 9 开始).
Schema 汇出的范例:
CREATE TABLE `table_name` (
  `id` bigint(20) unsigned NOT NULL auto_increment,
  PRIMARY KEY  (`id`),
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

mysqldump 移除 AUTO_INCREMENT=* 字串
通常都是 mysqldump -u root -d DB_NAME 汇出后, 再手动将 AUTO_INCREMENT=* 移除.
man mysqldump 想要找汇出的内容中, 是否能 不要包含 AUTO_INCREMENT 的资讯, 找不到可以用的参数, 只好于汇出时用 sed 来取代��~
下面这两个都是将汇出内容的 AUTO_INCREMENT=* 移除的指令, 看喜欢用哪个��~(我习惯用第一个)
mysqldump -u root -d DB_NAME | sed 's/AUTO_INCREMENT=[0-9]*s//g'
mysqldump -u root -d DB_NAME --compact | sed 's/(.*ENGINE.*AUTO_INCREMENT=).*/10;/g'

MySQL connector升级时可能会遇到的问题

此文章主要向大家讲述的是MySQL Connector升级时经常会引起的故障,以前在使用 Asp.NET MySQL 来搭建系统平台,使用了 MySQL数据库网上Connector 5.22 版,发现其中的 Membership 的实现上存在 Bug。有时

MySQL

作者:管理员




现在致电4006-2991-90 OR 查看更多联系方式 →

Go To Top 回顶部