MySQL Error number: 3761; Symbol: ER_WRONG_KEY_COLUMN_FUNCTIONAL_INDEX; SQLSTATE: HY000

文档解释

Error number: 3761; Symbol: ER_WRONG_KEY_COLUMN_FUNCTIONAL_INDEX; SQLSTATE: HY000

Message: The used storage engine cannot index the expression ‘%s’.

Error No. 3761: ER_WRONG_KEY_COLUMN_FUNCTIONAL_INDEX

ERROR 描述:

MySQL报错No. 3761表示在建立函数索引时,发现函数式索引使用的列,在表定义里不存在。

概要:

MySQL No. 3761( ER_WRONG_KEY_COLUMN_FUNCTIONAL_INDEX)错误提示用户,在表中使用函数索引是一个错误行为,用户提供的列名并不存在。

常见案例

假设你创建一张表 user,该表有两个字段:firstname和lastname。现在你试图在表中创建一个函数索引,但该索引引用的字段是middleName,这显然不符合要求—— middleName 明明没有在你的表定义中出现,就会报出No. 3761: ER_WRONG_KEY_COLUMN_FUNCTIONAL_INDEX的错误。

解决方案:

首先,检查用户想让函数索引引用的列,是否真的在表定义中出现,如果没有出现,此时需要将该字段添加到表定义中,然后重新执行创建函数索引的操作,即可以解决No. 3761: ER_WRONG_KEY_COLUMN_FUNCTIONAL_INDEX错误。当然,如果创建的不是函数索引,而是普通索引,此时就需要参看相关报错信息,以确定原因和解决措施。

你可能感兴趣的