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

在phpMyAdmin 4.8.0.1中创建含JSON列的表失败,求解决方案

解决phpMyAdmin创建JSON列的语法错误及类型选项缺失问题

我来帮你一步步搞定这两个问题:

一、先修复SQL语句的语法错误

你碰到的第4行语法错误,根源是MySQL不支持//作为单行注释符——这是PHP/JavaScript里的注释方式,但MySQL的单行注释得用-- (注意--后面必须加空格)或者#。

把你的SQL语句改成下面的正确版本就行(可以直接删掉注释,或者换成MySQL支持的注释格式):

CREATE TABLE `book` ( 
  `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, 
  `title` varchar(200) NOT NULL, 
  `tags` json DEFAULT NULL,
  PRIMARY KEY (`id`) 
) ENGINE=InnoDB;

要是想保留注释,就改成这种写法:

CREATE TABLE `book` ( 
  `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, 
  `title` varchar(200) NOT NULL, 
  `tags` json DEFAULT NULL, -- line 4
  PRIMARY KEY (`id`) 
) ENGINE=InnoDB;

二、解决结构页无JSON类型选项的问题

phpMyAdmin 4.8.0.1本身是支持JSON类型的,但有个关键前提:你的MySQL版本必须是5.7.8及以上(JSON类型是MySQL 5.7.8才正式引入的)。按下面步骤排查:

  1. 确认MySQL版本
    打开phpMyAdmin首页,页面底部就能看到MySQL版本号;或者执行这条SQL查询:

    SELECT VERSION();
    

    如果版本低于5.7.8,那你必须升级MySQL到5.7.8+(推荐直接升8.0版本,功能更完善),不然不管phpMyAdmin版本多新,都用不了原生JSON类型。

  2. 若MySQL版本符合要求但仍看不到JSON选项

    • 强制刷新浏览器页面(按Ctrl+Shift+R),清掉页面缓存,避免加载旧的类型列表。
    • 重启你的Web服务器(Apache/Nginx)和phpMyAdmin服务,确保配置和类型定义都加载了最新状态。
    • 检查phpMyAdmin的config.inc.php配置文件,确认没有手动限制可用数据类型的配置项(默认情况下不会有这类限制)。

临时替代方案(如果没法升级MySQL)

要是暂时没法升级MySQL,你可以用TEXT类型来存JSON格式的字符串,然后在应用代码里手动处理JSON的序列化和反序列化。不过这种方式没有原生JSON类型的优势(比如没法直接用MySQL的JSON函数查询、做索引优化等),只能当临时过渡方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:15:19