You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL 8中InnoDB无法为VARCHAR列创建FULLTEXT索引求助

解决MySQL 8中无法为title列创建FULLTEXT索引的问题

问题根源在于title列的字符集排序规则:你的表默认使用utf8mb4字符集,但title列单独指定了utf16_general_ci排序规则,而InnoDB的FULLTEXT索引不支持utf16字符集的列。

解决步骤

1. 修改列的字符集与排序规则

将title列的字符集和排序规则调整为与表一致的utf8mb4_0900_ai_ci:

ALTER TABLE media MODIFY COLUMN title VARCHAR(190) COLLATE utf8mb4_0900_ai_ci DEFAULT NULL;

2. 创建FULLTEXT索引

完成列修改后,执行索引创建语句:

ALTER TABLE media ADD FULLTEXT INDEX MEDIA_TITLE_FULLTEXT (title);

注意:如果其他需要创建FULLTEXT索引的列(如authors)也使用了utf16_general_ci排序规则,需要执行同样的字符集修改操作。MySQL 8的InnoDB FULLTEXT索引仅支持utf8、utf8mb4、gbk这类字符集,不兼容utf16或utf32。

内容的提问来源于stack exchange,提问作者Alexander Chereji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 07:57:39