我们有一些客户向我们发送mysql数据库sql文件,其中表引擎有时是myISAM,在将数据导入数据库之前或之前,我们需要将表转换为InnoDB。这可能吗?
欢呼声, 彼得
答案 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关键字之前的字符