我正在尝试将json类型的列添加到我的一个表中。我在用xampp和phpmyadmin。服务器版本是10.1.31-mariadb。innodb版本为5.6.36-83.0
当我试图从phpmyadmin中的选择框中选择json类型时,我没有看到任何关于json的内容。此外,运行此查询会导致“语法错误”:
ALTER TABLE my_table
ADD `some_column` json;
我在手册和各种教程中都看到,mysql确实支持json类型。
是版本问题吗?老实说,我对mysql的整个版本控制情况非常困惑。我在维基百科上看到,最新的稳定版本是8.0.11,而我的版本似乎完全不同(我不知道哪个版本是相关的:“服务器”还是“innodb”版本),我会假设xampp使用的是最新的mysql版本,但也许我错了。
有人能解释一下这个问题吗?如果它实际上是一个版本,那么在仍然使用xampp的情况下是否可以升级?
3条答案
按热度按时间eoxn13cs1#
是的,这是一个版本问题,看到了吗https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/
您使用的是mariadb 10.1,它基于mysql 5.6/5.7(因此是innodb版本)。但是json数据类型是在mysql 8.0中添加的。现在看来mariadb不支持json数据类型。
bfhwhh0e2#
似乎只有mariadb版本10.2.7才提供此数据类型。您可以改用longtext,因为根据docs,json只是longtext的别名。
https://mariadb.com/kb/en/library/json-data-type/
p1iqtdky3#
json数据类型在版本5.7中添加,在版本8中得到改进。mariadb没有json数据类型