Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1250538
  • 博文数量: 220
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1769
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-13 16:19
个人简介

努力, 努力, 再努力

文章分类

全部博文(220)

文章存档

2018年(8)

2017年(46)

2016年(75)

2015年(92)

我的朋友

分类: Mysql/postgreSQL

2016-06-02 15:28:03

原文链接:http://zhaizhenxing.blog.51cto.com/643480/134558/

  今天有同事问,mysqldump怎么样才能够将导出的sql中,每条记录对应一个insert语句,默认总是导出一个长的insert语句,如下所示:
[zzx@localhost ~]$ mysqldump --compact  -uroot test t1> a
[zzx@localhost ~]$ more a
CREATE TABLE `t1` (
  `id` int(10) default NULL,
  UNIQUE KEY `idx_1` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
INSERT INTO `t1` VALUES (1),(2),(3);

我们希望把导出语句中的insert改为:
INSERT INTO `t1` VALUES (1);
INSERT INTO `t1` VALUES (2);
INSERT INTO `t1` VALUES (3);

这样在不支持insert多值的数据库中,可以很方便的进行迁移,其实方法很简单,只需要加--extented-insert=false即可:
[zzx@localhost ~]$ mysqldump --compact --extended-insert=false -uroot test t1> a
[zzx@localhost ~]$ more a
CREATE TABLE `t1` (
  `id` int(10) default NULL,
  UNIQUE KEY `idx_1` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
INSERT INTO `t1` VALUES (1);
INSERT INTO `t1` VALUES (2);
INSERT INTO `t1` VALUES (3);

我们从mysqldump中可以看到此参数的默认值为true:
[zzx@localhost ~]$ mysqldump --help|grep extended-insert
。。。。。。
extended-insert                   TRUE
阅读(1034) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~