我试图在我的一个表中添加一个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,而我的版本似乎完全不同(我不知道哪个是相关的:"服务器"或者#34; innodb"我认为XAMPP使用最新的mysql版本,但也许我错了。
有人可以解释这个问题吗?如果它实际上是版本的东西,是否可以升级,同时仍然使用XAMPP?
答案 0 :(得分:8)
似乎此数据类型仅可从MariaDB版本10.2.7获得。您可以使用LONGTEXT,因为根据文档,JSON只是LONGTEXT的别名。
答案 1 :(得分:1)
是的,这是一个版本问题,请参阅https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/
您正在使用MariaDB 10.1,它基于MySQL 5.6 / 5.7(因此是innodb版本)。但是在MySQL 8.0中添加了JSON数据类型。看起来,截至目前,MariaDB不支持JSON数据类型。
答案 2 :(得分:0)
版本5.7中添加的JSON数据类型,并在8中得到改进.MariaDB没有JSON数据类型