Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Bug do tipo de dados inteiro do Mysql Workbench (alterações INT> (11) )


Presumo que aleblebi é um membro turco. Mas suponho que o problema também possa ser visto em outras localidades. Primeiro tentarei explicar o problema e depois escreverei minha solução no final.

Você pode ver o problema quando tenta alterar a tabela usando o Workbench GUI (estou usando a versão 8.0.15). A coluna "Datatype" da grade e a caixa de texto "Data Type:" mostrarão (11) em vez de INT(11) , o mesmo problema pode ser visto em DATETIME colunas, mas desta vez as caixas de tipo de dados estarão completamente vazias.

O problema também pode ser visto se você tentar usar o assistente "Sincronizar com qualquer fonte..." do Workbench. No final do assistente, você pode ver algo como:
ALTER TABLE `TEST_1`.`TABLE_1` 
CHANGE COLUMN `ID` `ID` (11) NULL DEFAULT NULL ,
DROP PRIMARY KEY;

ao invés de:
ALTER TABLE `TEST_1`.`TABLE_1` 
CHANGE COLUMN `ID` `ID` INT(11) NULL DEFAULT NULL ,
DROP PRIMARY KEY;

Eu tive o mesmo problema e pesquisei na web por alguns dias e não consegui encontrar uma solução (solução de camadan não foi um sucesso para mim). Finalmente percebi que não é apenas INT tipo de dados, mas também BIGINT e DATETIME tipos de dados tem o mesmo problema.

Então concluí que todo tipo de dados com uma letra maiúscula "I" tem o mesmo problema. E no alfabeto turco há letras maiúsculas pontilhadas İ e letra normal I que de alguma forma quebra o Workbench apenas se você escolher "Turkish (Turkey)" no sistema operacional Windows como "Formato regional". (Meu sistema operacional é o Windows 10 em inglês)

Então resolvi o problema apenas alterando a configuração "Formato regional" do Windows 10 de "Turco (Turquia)" para "Inglês (Estados Unidos)".

A propósito, deixei a opção "País ou Região" como está (ainda é "Turquia" no Windows 10) e sempre uso "Inglês (Estados Unidos)" como opção "Idioma para programas não Unicode" no meu Ambiente de desenvolvimento Windows 10.

Espero que esta informação ajude alguém algum dia...