在MySQL中,无法为某个数据库指定存储引擎,只能为单个表指定存储引擎。但是,您可以使用以下命令指定要在一个会话期间使用的存储引擎:
SET storage_engine=InnoDB;
因此,您不必为每个表指定它。
我如何确认是否所有的表都在使用InnoDB?
发布于 2010-12-23 12:08:34
如果使用SHOW CREATE TABLE,则必须从查询中解析出引擎。
从INFORMATION_SCHEMA数据库中进行选择是一种糟糕的做法,因为开发人员保留随时更改其模式的权利(尽管这不太可能)。
要使用的正确查询是 -您可以获得有关数据库中所有表的信息:
SHOW TABLE STATUS FROM `database`;
或用于特定表:
SHOW TABLE STATUS FROM `database` LIKE 'tablename';
您将得到的列之一是Engine。
发布于 2010-12-23 10:48:24
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'db name' AND ENGINE != 'InnoDB'
发布于 2010-12-23 10:50:23
show create table <table>
应该可以做到这一点。
https://stackoverflow.com/questions/4515490
复制相似问题