2016-07-29 2 views
1

테이블 엔진이 myISAM이고 MySQL 데이터베이스로 가져 오기 전에 또는 가져 오기 전에 InnoDB로 테이블을 변환해야하는 경우가 있습니다. 이것이 가능한가?임포트시 mysql 테이블 스토리지 엔진 변경

환호, 피터

+0

은 또한 (HTTPS [_ 변환에 _caveats]에 체크 엔진 키워드를 앞에 문자를 위해 밖으로 보이는)과 : //mariadb.com/kb/en/mariadb/converting-tables-from-myisam-to-innodb/) –

답변

2

이 데이터 자체가 정확한 텍스트 engine=myisam을 포함하지 않는 것으로 가정 않습니다

sed -i 's/engine=myisam/engine=innodb/gi' userfile.sql 

리눅스에있을 정도로 운이 있다면 당신은 좀 더 엄격 할 수 있습니다 생성 문은 다음과 같습니다

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

테이블 :

같은
CREATE TABLE `Table1` (
    `user_id` int(11) DEFAULT NULL, 
    `user_name` varchar(5) DEFAULT NULL, 
    `user_rating` int(11) DEFAULT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 
/*!40101 SET character_set_client = @saved_cs_client */; 

그리고는 나오지도의 두 번째 구문에 우리는 대소 문자를 만들었습니다 그리고 그것은 또한 '

+0

anwer에 감사드립니다. – zozo6015

+0

도움이 된 것을 기쁘게 생각합니다. – e4c5

관련 문제