2013年3月31日星期日

mysqldump 设置 auto_increment为 1


默认使用mysqldump 出来的数据,设置为auto_increment 的字段的值会根据目前的 id 位置,设置值:
例如其中一个dump 出来的表如下:
 
CREATE TABLE `lrc` (
  `mid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `artist` varchar(255) NOT NULL,
  `title` varchar(255) NOT NULL,
  `lrc` text NOT NULL,
  PRIMARY KEY (`mid`),
  UNIQUE KEY `artist` (`artist`(30),`title`(50))
) ENGINE=InnoDB AUTO_INCREMENT=184469 DEFAULT CHARSET=utf8;
 
为了保证数据的相对更一致性,在导入的时候,需要将这些值改为1
 
mysqldump -u username -p -h <db-host> --opt <db-name> -d --single-transaction | sed 's/ AUTO_INCREMENT=[0-9]*\b//' > <filename>.sql

没有评论:

发表评论