Fix "The used table type doesn't support FULLTEXT indexes" (ERROR 1214 (HY000))

กระทู้เก่าที่เก็บไว้อ่าน · หน้านี้ไม่รับข้อความใหม่

เมื่อแก้ไข tables engine ไปเป็น InnoDB แล้วติดปัญหาเรื่อง FULLTEXT index เหมือนตัวอย่าง

ERROR 1214 (HY000): The used table type doesn't support FULLTEXT indexes

ให้ตรวจสอบดูโครงสร้างตารางด้วยคำสั่ง เพื่อหาว่ามี index ชื่ออะไรที่เป็น FULLTEXT เพื่อที่จะได้ลบทิ้ง สาเหตุที่ลบทิ้งเพราะว่า InnoDB ไม่ support FULLTEXT index

SHOW CREATE TABLE table1;

CREATE TABLE `table1` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Coupons Id',
  `name` varchar(100) CHARACTER SET utf8 DEFAULT NULL COMMENT 'Coupons Name',
  `description` varchar(5000) CHARACTER SET utf8 DEFAULT NULL COMMENT 'Coupons Description',
  `date` datetime DEFAULT NULL COMMENT 'Coupons purchase start date',
  `status` varchar(3) CHARACTER SET utf8 DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `status` (`status`),
  FULLTEXT KEY `name` (`name`),
  FULLTEXT KEY `description` (`description`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 

จากตัวอย่างด้านบนจะเห็นว่ามี FULTEXT index อยู่ 2 ตัวด้วยกันคือ name และ description ดังนั้นให้เรา drop index ที่เป็น FULLTEXT key ออกด้วยคำสั่งด้านล่าง จึงจะสามารถแก้ไข table engine ไปเป็น InnoDB ได้

ALTER TABLE table1 DROP INDEX name;
ALTER TABLE table1 DROP INDEX description;
EOF.← กลับไปอ่านบทความอื่น