Ket*_*ola 12
如果需要通过查询数据库来确定是否启用了InnoDB,则应使用INFORMATION_SCHEMA表.
SELECT SUPPORT FROM INFORMATION_SCHEMA.ENGINES WHERE ENGINE = 'InnoDB';
Run Code Online (Sandbox Code Playgroud)
其中,如果启用了InnoDB并且是默认数据库,则给出结果
+---------+
| SUPPORT |
+---------+
| DEFAULT |
+---------+
Run Code Online (Sandbox Code Playgroud)
如果InnoDB可用,但不是默认引擎,结果将是YES.如果它不可用,结果显然是NO.
请参阅http://dev.mysql.com/doc/refman/5.5/en/engines-table.html 和http://dev.mysql.com/doc/refman/5.5/en/information-schema.html为参考.
当InnoDB可用时,您在评论中提到的INFORMATION_SCHEMA表也可用.
SHOW TABLES FROM INFORMATION_SCHEMA LIKE 'INNODB%';
+----------------------------------------+
| Tables_in_INFORMATION_SCHEMA (INNODB%) |
+----------------------------------------+
| INNODB_CMP_RESET |
| INNODB_TRX |
| INNODB_CMPMEM_RESET |
| INNODB_LOCK_WAITS |
| INNODB_CMPMEM |
| INNODB_CMP |
| INNODB_LOCKS |
+----------------------------------------+
Run Code Online (Sandbox Code Playgroud)
类型:
SHOW ENGINES
在mysql提示符下.
Innodb会如此:
Engine: InnoDB
Support: YES
Comment: Supports transactions, row-level locking, and foreign keys
Run Code Online (Sandbox Code Playgroud)