<div id="docs-body">
 <div class="section">
  <div class="titlepage">
   <div>
    <div>
     <h2 class="title">
      <a name="innodb-restrictions-limitations">
      </a>
      17.22 InnoDB Restrictions and Limitations
     </h2>
    </div>
   </div>
  </div>
  <a class="indexterm" name="idm46045148758752">
  </a>
  <a class="indexterm" name="idm46045148757264">
  </a>
  <a class="indexterm" name="idm46045148755776">
  </a>
  <a class="indexterm" name="idm46045148754288">
  </a>
  <p>
   This section describes restrictions and limitations of the
   <code class="literal">
    InnoDB
   </code>
   storage engine.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      You cannot create a table with a column name that matches the
          name of an internal
      <code class="literal">
       InnoDB
      </code>
      column
          (including
      <code class="literal">
       DB_ROW_ID
      </code>
      ,
      <code class="literal">
       DB_TRX_ID
      </code>
      , and
      <code class="literal">
       DB_ROLL_PTR
      </code>
      . This restriction applies to
          use of the names in any lettercase.
     </p>
     <div class="copytoclipboard-wrapper">
      <pre class="programlisting language-sql"><div class="docs-select-all right" id="sa1757328"><div class="copy-help left">Press ⌘+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class="language-sql"><span class="token prompt">mysql&gt;</span> <span class="token keyword">CREATE</span> <span class="token keyword">TABLE</span> t1 <span class="token punctuation">(</span>c1 <span class="token datatype">INT</span><span class="token punctuation">,</span> db_row_id <span class="token datatype">INT</span><span class="token punctuation">)</span> <span class="token keyword">ENGINE</span><span class="token operator">=</span>INNODB<span class="token punctuation">;</span>
<span class="token output">ERROR 1166 (42000)<span class="token punctuation">:</span> Incorrect column name 'db_row_id'</span></code></pre>
     </div>
    </li>
    <li class="listitem">
     <p>
      <a class="link" href="show-table-status.html" title="15.7.7.38 SHOW TABLE STATUS Statement">
       <code class="literal">
        SHOW TABLE STATUS
       </code>
      </a>
      does not
          provide accurate statistics for
      <code class="literal">
       InnoDB
      </code>
      tables except for the physical size reserved by the table. The
          row count is only a rough estimate used in SQL optimization.
     </p>
    </li>
    <li class="listitem">
     <p>
      <code class="literal">
       InnoDB
      </code>
      does not keep an internal count of
          rows in a table because concurrent transactions might
      <span class="quote">
       “
       <span class="quote">
        see
       </span>
       ”
      </span>
      different numbers of rows at the same time.
          Consequently,
      <code class="literal">
       SELECT COUNT(*)
      </code>
      statements
          only count rows visible to the current transaction.
     </p>
     <p>
      For information about how
      <code class="literal">
       InnoDB
      </code>
      processes
      <code class="literal">
       SELECT COUNT(*)
      </code>
      statements, refer to the
      <a class="link" href="aggregate-functions.html#function_count">
       <code class="literal">
        COUNT()
       </code>
      </a>
      description in
      <a class="xref" href="aggregate-functions.html" title="14.19.1 Aggregate Function Descriptions">
       Section 14.19.1, “Aggregate Function Descriptions”
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      <code class="literal">
       ROW_FORMAT=COMPRESSED
      </code>
      is unsupported for
          page sizes greater than 16KB.
     </p>
    </li>
    <li class="listitem">
     <p>
      A MySQL instance using a particular
      <code class="literal">
       InnoDB
      </code>
      page size (
      <a class="link" href="innodb-parameters.html#sysvar_innodb_page_size">
       <code class="literal">
        innodb_page_size
       </code>
      </a>
      )
          cannot use data files or log files from an instance that uses
          a different page size.
     </p>
    </li>
    <li class="listitem">
     <p>
      For limitations associated with importing tables using the
      <span class="emphasis">
       <em>
        Transportable Tablespaces
       </em>
      </span>
      feature, see
      <a class="link" href="innodb-statistics-estimation.html" title="17.8.10.2 Configuring Non-Persistent Optimizer Statistics Parameters">
       Table Import
          Limitations
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      For limitations associated with online DDL, see
      <a class="xref" href="innodb-online-ddl-limitations.html" title="17.12.8 Online DDL Limitations">
       Section 17.12.8, “Online DDL Limitations”
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      For limitations associated with general tablespaces, see
      <a class="xref" href="general-tablespaces.html#general-tablespaces-limitations" title="General Tablespace Limitations">
       General Tablespace Limitations
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      For limitations associated with data-at-rest encryption, see
      <a class="xref" href="innodb-data-encryption.html#innodb-data-encryption-limitations" title="Encryption Limitations">
       Encryption Limitations
      </a>
      .
     </p>
    </li>
   </ul>
  </div>
 </div>
 <br/>
</div>
