首页 文章

通过PHP检测MySQL InnoDB

提问于
浏览
2

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

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

2 回答

  • 1

    试试这个:

    SHOW TABLE STATUS WHERE Name = 'xxx'
    

    这将为您(以及其他)提供一个引擎列,这是您想要的 .

    或者如果你想在数据库级别

    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 很好地格式化输出,但它是可选的 .

相关问题