MariaDB: JSON datatype suportado a partir da versão 10.2 | iMasters
MariaDB: JSON datatype suportado a partir da versão 10.2
Digamos que você tenha a seguinte declaração CREATE TABLE que deseja executar em uma instância do MariaDB.
`value` json null
Você pode ser saudado com esta mensagem de erro;
syntax; check the manual that corresponds to your MariaDB server version for the right
syntax to use near 'json null at line 1
A sintaxe inteligente é tudo de bom, mas o JSON datatype é realmente muito novo, e é apenas "suportado" (esses parênteses logo ficarão claros) a partir do MariaDB 10.2.
Antes de qualquer coisa: certifique-se de executar a versão mais recente do MariaDB.
MariaDB> select @@version;
| 10.0.31-MariaDB |
Se você estiver em uma versão mais antiga, atualize até chegar ao MariaDB 10.2.
| 10.2.7-MariaDB |
Então, esteja ciente de que a implementação do MariaDB JSON é ligeiramente diferente do MySQL, conforme explicado no MDEV-9144.
Os tipo de dados JSON contradizem diretamente o padrão SQL, que diz que as funções JSON_ * pegam uma sequência de caracteres como um argumento.
Além disso, a velocidade do MariaDB não precisa do JSON binário, de acordo com nossos benchmarks, nosso analisador JSON é tão rápido no texto JSON como o MySQL no JSON binário.
Vamos adicionar JSON "type" para compatibilidade com o MySQL, no entanto.
E como uma observação final:
Adicionamos JSON como um alias para TEXT.
Portanto, nos bastidores, um tipo de dados JSON é realmente um tipo de dados TEXT. Mas, pelo menos, essas consultas CREATE TABLE realmente funcionarão.
Essa mesma declaração CREATE TABLE acima é traduzida para isto no MariaDB:
MariaDB> SHOW CREATE TABLE test;
Observe o tipo de dados TEXT para a coluna 'valor', que eu especifiquei como JSON.
Mattias Geniar faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela Redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: https://ma.ttias.be/mariadb-json-datatype-supported-10-2/