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错误。当然,如果创建的不是函数索引,而是普通索引,此时就需要参看相关报错信息,以确定原因和解决措施。