MySQL 5.5执行CREATE TABLE建表语句报1064语法错误求助
报错原因
你使用的MySQL 5.5.34版本不支持JSON原生数据类型,该类型是MySQL在5.7.8版本才正式上线的字段类型,低版本MySQL无法识别JSON关键字,因此触发1064语法错误。
解决方案
- 方案1:升级MySQL版本至5.7.8及以上(推荐)
升级完成后你原本的建表语句可以直接正常执行,同时可以使用MySQL原生提供的各类JSON操作函数,方便对JSON格式内容进行查询、修改、提取等操作。 - 方案2:替换字段类型适配低版本环境
如果暂时无法升级MySQL版本,可以将tags字段的类型替换为TEXT或者长度足够的VARCHAR类型,用来存储JSON格式的字符串,修改后的建表语句参考如下:
CREATE TABLE `book` ( `id` MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT, `title` VARCHAR(200) NOT NULL, `tags` TEXT DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=INNODB;
该方案需要在业务代码侧自行保证写入tags字段的内容为合法JSON格式,读取后自行解析处理。
内容的提问来源于stack exchange,提问作者KD_Raj
相关产品推荐
相关产品推荐

