擅长:python、mysql、java
<p>MySql InnoDB表中唯一键的最大长度是767字节,除非您设置了<code>innodb_large_prefix</code>,在这种情况下是3072字节。参见:</p>
<p><a href="https://dev.mysql.com/doc/refman/5.7/en/innodb-restrictions.html" rel="noreferrer">https://dev.mysql.com/doc/refman/5.7/en/innodb-restrictions.html</a></p>
<p>由于Mysql 5.7.7,<code>innodb_large_prefix</code>默认为on。参见:</p>
<p><a href="https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_large_prefix" rel="noreferrer">https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_large_prefix</a></p>
<p>因此,我猜Django会选择保守的选项,因为它与Mysql 5.5一起工作:</p>
<p><a href="https://docs.djangoproject.com/en/1.11/ref/databases/#version-support" rel="noreferrer">https://docs.djangoproject.com/en/1.11/ref/databases/#version-support</a></p>
<p>正如@Alasdair在他们的回答中所示,您可以使用<a href="https://docs.djangoproject.com/en/1.11/ref/settings/#std:setting-SILENCED_SYSTEM_CHECKS" rel="noreferrer">SILENCED_SYSTEM_CHECKS</a>设置使该检查静音:</p>
<pre><code>SILENCED_SYSTEM_CHECKS = ['mysql.E001']
</code></pre>