2013-03-06 48 views
2

如何检测MySQL数据库表是否在PHP程序中使用InnoDB存储引擎?通过PHP检测MySQL InnoDB

原因 - PHP程序需要利用数据库事务。 InnoDB支持事务。 MyISAM(MySQL默认存储引擎)不支持。如果交易不受支持,程序需要失败。

回答

1

试试这个:

SHOW TABLE STATUS WHERE Name = 'xxx' 

这会给你(除其他事项外)的引擎列,这是你想要的。

或者如果u希望它在数据库级

SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'dbname' 
0

我宁愿:

SHOW CREATE TABLE tablename\G

在:

SHOW TABLE STATUS WHERE Name = 'xxx'

因为你可以很容易地外指定表当前的吨数据库,即:

SHOW CREATE TABLE database.table\G

\G格式化输出很好,但它是可选的。