【问题标题】:Detect MySQL InnoDB via PHP通过 PHP 检测 MySQL InnoDB
【发布时间】:2013-02-20 19:15:35
【问题描述】:

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

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

【问题讨论】:

    标签: php mysql innodb myisam


    【解决方案1】:

    我更喜欢:

    SHOW CREATE TABLE tablename\G

    结束:

    SHOW TABLE STATUS WHERE Name = 'xxx'

    因为您可以轻松指定当前数据库之外的表,即:

    SHOW CREATE TABLE database.table\G

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

    【讨论】:

      【解决方案2】:

      试试这个:

      SHOW TABLE STATUS WHERE Name = 'xxx'
      

      这将为您(除其他外)提供一个引擎列,这是您想要的。

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

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

      【讨论】:

        猜你喜欢
        • 2015-08-28
        • 1970-01-01
        • 2010-10-13
        • 1970-01-01
        • 2013-10-20
        • 2019-03-06
        • 1970-01-01
        • 2013-05-02
        • 2017-09-30
        相关资源
        最近更新 更多