Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Błąd typu danych całkowitych Mysql Workbench (zmiany INT> (11) )

Zakładam aleblebi jest członkiem tureckim. Ale przypuszczam, że problem widać też w innych lokalizacjach. Najpierw spróbuję wyjaśnić problem, a na końcu napiszę rozwiązanie.

Możesz zobaczyć problem, gdy próbujesz zmienić tabelę za pomocą GUI Workbench (używam wersji 8.0.15). Kolumna „Typ danych” siatki i pole tekstowe „Typ danych:” pokażą (11) zamiast INT(11) , ten sam problem można zobaczyć w DATETIME kolumny, ale tym razem pola typu danych będą całkowicie puste.

Problem można również zauważyć, jeśli spróbujesz użyć kreatora "Synchronizuj z dowolnym źródłem..." w Workbenchu. Na końcu kreatora możesz zobaczyć coś takiego:

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

zamiast:

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

Miałem ten sam problem i przeszukiwałem sieć przez kilka dni i nie mogłem znaleźć rozwiązania (rozwiązanie kamadan nie był dla mnie sukcesem). W końcu zdałem sobie sprawę, że to nie tylko INT typ danych, ale także BIGINT i DATETIME typy danych mają ten sam problem.

Doszedłem więc do wniosku, że każdy typ danych z dużą literą „I” ma ten sam problem. A w alfabecie tureckim występuje kropkowana wielka litera İ i normalna litera I co w jakiś sposób psuje Workbench tylko wtedy, gdy wybierzesz „Turecki (Turcja)” w systemie operacyjnym Windows jako „Format regionalny”. (Mój system operacyjny to Windows 10 w języku angielskim)

Rozwiązałem więc problem, zmieniając ustawienie „Format regionalny” systemu Windows 10 z „Turecki (Turcja)” na „Angielski (Stany Zjednoczone)”.

Nawiasem mówiąc, pozostawiłem opcję „Kraj lub region” bez zmian (w systemie Windows 10 nadal jest to „Turcja”) i zawsze używam „Angielski (Stany Zjednoczone)” jako opcji „Język dla programów innych niż Unicode” w moim Środowisko programistyczne Windows 10.

Mam nadzieję, że te informacje pomogą komuś kiedyś...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Activerecord:Wyrywaj konkretne kolumny i liczbę asocjacji

  2. BŁĄD 1452:Nie można dodać lub zaktualizować wiersza podrzędnego:ograniczenie klucza obcego nie powiodło się

  3. Partycjonowanie MySQL:Wzrost wydajności Dla wielu partycjonowanych tabel. Czemu?

  4. Jak przyznać użytkownikowi dostęp do wszystkich procedur składowanych na mysql?

  5. Różnica między lewym sprzężeniem a lewym sprzężeniem zewnętrznym