导入时更改mysql表存储引擎

时间:2016-07-29 13:03:32

标签: mysql innodb myisam

我们有一些客户向我们发送mysql数据库sql文件,其中表引擎有时是myISAM,在将数据导入数据库之前或之前,我们需要将表转换为InnoDB。这可能吗?

欢呼声, 彼得

1 个答案:

答案 0 :(得分:2)

如果你有幸在linux上

Node

这确实假设数据本身不包含确切的文本sed -i 's/engine=myisam/engine=innodb/gi' userfile.sql ,你可以使它更严格这样:

engine=myisam

表创建语句如下所示:

sed -i 's/) ENGINE=InnoDB/) ENGINE=MyISAM/g' junk.sql

在sed的第二次使用中,我们将它区分大小写,并且它也注意到了)和' '在ENGINE关键字之前的字符