1
resposta

Error Code: 1064

Boa tarde, Professor!

Ao rodar o script do arquivo world_X_v2 o seguinte erro surgiu:

17:29:30    CREATE TABLE `countryinfo` (   `doc` json DEFAULT NULL,   `_id` varchar(10) GENERATED ALWAYS AS (json_unquote(json_extract(`doc`,_utf8mb4'$.Code'))) STORED NOT NULL,   `_json_schema` json GENERATED ALWAYS AS (_utf8mb4'{"type":"object"}') VIRTUAL,   PRIMARY KEY (`_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4    
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'NOT NULL,   `_json_schema` json GENERATED ALWAYS AS (_utf8mb4'{"type":"object...' at line 3    0.000 sec

Ao pesquisar sobre esse erro, identifiquei que poderia ser devido a versão do mariaDB, então providenciei a atualização. Mas mesmo assim não consegui rodar o script. Você pode me ajudar, por gentileza?

Obrigada,

Atenciosamente.

Natália.

1 resposta

Olá, Natalia, tudo bem?

Peço desculpas pela demora no retorno.

Diferente do MySQL, o MariaDB não tem suporte a todas funções e comandos para se trabalhar com JSON, mesmo sendo um banco de dados que foi desenvolvido baseado no MySQL. Por este motivo, ao executar alguns comandos no MariaDB, um erro de sintaxe poderá ser retornado.

O MariaDB também trabalha de forma diferente com o JSON, tendo assim uma incompatibilidade com o MySQL, então o que pode ser feito para tentar resolver este problema, é utilizar a versão atualizada do MariaDB, e realizar a conversão de uma tabela MySQL com campos JSON para uma tabela compatível com o MariaDB.

Neste link da documentação do MariaDB, é informado como você pode realizar a conversão de uma tabela MySQL para uma tabela compatível com o MariaDB.

Caso a incompatibilidade continue, indico que se possível, tente utilizar a versão mais atualizada do MySQL, que tem suporte a mais funções e comandos para se trabalhar com JSON. A título de curiosidade, caso queira ler um pouco mais a respeito das funções JSON no MariaDB, indico a leitura da documentação.

OBS: Infelizmente a documentação do MariaDB é em inglês, então, caso tenha dificuldade em relação a este idioma, indico que tente utilizar o tradutor do navegador, para conseguir efetuar a leitura em português, mas qualquer dúvida ou dificuldade estarei à disposição.

Espero ter ajudado, qualquer dúvida é só falar e bons estudos!