sql >> Database teknologi >  >> RDS >> Mysql

Mysql Workbench heltal datatype fejl (INT ændringer> (11))

Jeg går ud fra aleblebi er et tyrkisk medlem. Men jeg formoder, at problemet også kan ses på andre steder. Først vil jeg prøve at forklare problemet, og så vil jeg skrive min løsning til sidst.

Du kan se problemet, når du forsøger at ændre tabellen ved hjælp af Workbench GUI (jeg bruger version 8.0.15). Kolonnen "Datatype" i gitteret og tekstboksen "Datatype:" vil vise (11) i stedet for INT(11) , samme problem kan ses i DATETIME kolonner, men denne gang vil datatypebokse være helt tomme.

Problemet kan også ses, hvis du prøver at bruge "Synkroniser med enhver kilde..."-guiden i Workbench. I slutningen af ​​guiden kan du se noget som:

ALTER TABLE `TEST_1`.`TABLE_1` 
CHANGE COLUMN `ID` `ID` (11) NULL DEFAULT NULL ,
DROP PRIMARY KEY;

i stedet for:

ALTER TABLE `TEST_1`.`TABLE_1` 
CHANGE COLUMN `ID` `ID` INT(11) NULL DEFAULT NULL ,
DROP PRIMARY KEY;

Jeg havde det samme problem, og jeg søgte på nettet i et par dage og kunne ikke finde en løsning (løsning af camadan var ikke en succes for mig). Til sidst indså jeg, at det ikke kun er INT datatype, men også BIGINT og DATETIME datatyper har det samme problem.

Så jeg konkluderede, at hver datatype, der har et stort "I", har det samme problem. Og i det tyrkiske alfabet er der prikkede store bogstaver İ og almindeligt bogstav I som på en eller anden måde kun bryder Workbench, hvis du vælger "Tyrkisk (Tyrkiet)" i Windows OS som "Regionalt format". (Mit operativsystem er Windows 10 engelsk)

Så jeg løste problemet med blot at ændre indstillingen "Regionalt format" i Windows 10 fra "Tyrkisk (Tyrkiet)" til "Engelsk (USA)".

I øvrigt forlod jeg indstillingen "Land eller region" som den er (det er stadig "Tyrkiet" i Windows 10), og jeg bruger altid "Engelsk (USA)" som "Sprog for ikke-Unicode-programmer" i min Windows 10 udviklingsmiljø.

Jeg håber, at denne information vil hjælpe nogen en dag...



  1. en optælling for hver joinforbindelse - optimering

  2. Gør hibernate backquote alle tabel-/kolonnenavne

  3. Hvordan returnerer jeg en jsonb-array og en række objekter fra mine data?

  4. Indsæt i tabel vælg fra tabel a og tabel b hvor