Discuss / SQL / 强制使用指定索引为啥一直说指定索引不存在 明明存在的呀?

强制使用指定索引为啥一直说指定索引不存在 明明存在的呀?

Topic source

石年618

#1 Created at ... [Delete] [Delete and Lock User]

 SELECT * FROM students FORCE INDEX (score) WHERE class_id = 1 ORDER BY id DESC;

报错ERROR 1176 (42000): Key 'score' doesn't exist in table 'students'

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

注意是索引的名字,建议创建索引时名字要起好,不要和列重名,推荐idx_score这样的名字

鱼丸1122

#3 Created at ... [Delete] [Delete and Lock User]

列score存在,索引idx_score还不存在,需要先添加索引

ALTER TABLE students ADD INDEX idx_score (score);

闲来舞剑

#4 Created at ... [Delete] [Delete and Lock User]

好问题 好回答哦


  • 1

Reply