mysqldump怎么样才能够将导出的sql中,每条记录对应一个insert语句,默认总是导出一个长的insert语句,如下所示:
| 12
 3
 4
 5
 6
 7
 
 | [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改为:
| 12
 3
 
 | INSERT INTO `t1` VALUES (1);INSERT INTO `t1` VALUES (2);
 INSERT INTO `t1` VALUES (3);
 
 | 
这样在不支持insert多值的数据库中,可以很方便的进行迁移,其实方法很简单,只需要加 –extented-insert=false即可:
| 12
 3
 4
 5
 6
 7
 8
 9
 
 | [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:
| 12
 3
 4
 
 | [zzx@localhost ~]$ mysqldump –help|grep extended-insert......
 extended-insert TRUE
 ......
 
 |