按照以下语法更新MySQL表引擎-
alter table yourTableName ENGINE=InnoDB;
让我们首先创建一个表-
mysql> create table DemoTable -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), -> StudentAge int, -> StudentCountryName varchar(20) -> )ENGINE=MyISAM,AUTO_INCREMENT=101;
让我们检查表的描述-
mysql> show create table DemoTable;
这将产生以下输出-
+---------------+-----------------------------------------------------------------------------------------+ | Table | Create Table | +---------------+-----------------------------------------------------------------------------------------+ | DemoTable | CREATE TABLE `DemoTable` ( `StudentId` int(11) NOT NULL AUTO_INCREMENT, `StudentName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `StudentAge` int(11) DEFAULT NULL, `StudentCountryName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`StudentId`) ) ENGINE=MyISAM AUTO_INCREMENT=101 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci | +---------------+------------------------------------------------------------------------------------------+ 1 row in set (0.50 sec)
这是更新MySQL表引擎的查询-
mysql> alter table DemoTable ENGINE=InnoDB; Records: 0 Duplicates: 0 Warnings: 0
让我们再次检查表的描述-
mysql> show create table DemoTable;
这将产生以下输出-
+---------------+-----------------------------------------------------------------------------------------+ | Table | Create Table | +---------------+-----------------------------------------------------------------------------------------+ | DemoTable | CREATE TABLE `DemoTable` ( `StudentId` int(11) NOT NULL AUTO_INCREMENT, `StudentName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `StudentAge` int(11) DEFAULT NULL, `StudentCountryName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`StudentId`) ) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci | +---------------+------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)