mysql创建表报错

问题遇到的现象和发生背景

mysql创建表时一直报错

用代码块功能插入代码,请勿粘贴截图

create table xs
(
学号 char(6) not null primary key,
姓名 char(8) not null,
专业名 enum('计算机','软件工程','通信工程') null,
性别 bit(1) not null default 1,
出生日期 date not null,
总学分 tinyint(1) null default 0,
地址 json null
) engine = innodb;

运行结果及报错内容

img

你的mysql版本不支持 json类型类型吧,5.7以下是不支持json格式存储的

有条件的话更新一下mysql版本吧 现在8.0版本挺稳定,安装可以看着这个博客http://t.csdn.cn/uDUUL
卸载原有mysql可以看看这个http://t.csdn.cn/N4WZD

JSON 数据类型是 MySQL 5.7.8 开始支持的。在此之前,只能通过字符类型(CHAR,VARCHAR 或 TEXT )来保存 JSON 文档。估计你的MySQL版本是低于5.7.8的原因,造成报错。
如果不提升MySQL版本,使用varchar,可更改成如下:

create table IF NOT EXISTS xs
(
学号 char(6) not null primary key,
姓名 char(8) not null,
专业名 enum('计算机','软件工程','通信工程') null,
性别 bit(1) not null default 1,
出生日期 date not null,
总学分 tinyint(1) null default 0,
地址 varchar(30) DEFAULT NULL
)
ENGINE=InnoDB DEFAULT CHARSET=utf8;

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:mysql启动报错

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^