MySQL运行含INVISIBLE索引的CREATE TABLE语句报Error Code 1064问题咨询
问题原因
INVISIBLE索引是MySQL 8.0版本才新增的特性,若你使用的MySQL版本低于8.0,无法识别INVISIBLE关键字,就会触发1064语法错误,报错定位的位置刚好对应语句中INVISIBLE的位置。
解决方案
- 方案1:将MySQL服务端版本升级到8.0及以上,即可正常运行原SQL语句
- 方案2:若暂时无法升级版本,删除建表语句中
INDEX phone(phone) INVISIBLE,里的INVISIBLE关键字即可,修改后的可执行语句如下:
CREATE TABLE contacts( contact_id INT AUTO_INCREMENT, first_name VARCHAR(100) NOT NULL, last_name VARCHAR(100) NOT NULL, email VARCHAR(100), phone VARCHAR(20), PRIMARY KEY(contact_id), UNIQUE(email), INDEX phone(phone), INDEX name(first_name, last_name) comment 'By first name and/or last name' );
内容的提问来源于stack exchange,提问作者Randy
相关产品推荐
相关产品推荐

