Jestem przy założeniu, że INT (1) jest dokładnie tym samym co TINYINT (1), ale naprawdę nie mam pojęcia. Ilekroć mam wartości, które mogą być tylko jedną liczbą całkowitą (np. Wartość 0-9), zawsze użyłem INT (1), aby powiedzieć, że jest liczbą całkowitą i będzie to tylko jeden znak, który zakładam, że to może to być tylko wartość od 0 do 9 (proszę wyjaśnij mi to, jeśli się mylę). Zawsze ignorowałem inne typy INT, w których można odrzucić liczbę jako. Nie jestem doświadczonym użytkownikiem MySQL i staram się unikać bardziej skomplikowanych rzeczy, które możesz z nim zrobić.Czy istnieje różnica w używaniu INT (1) kontra TINYINT (1) w MySQL?
Moje pytanie brzmi: czy istnieje różnica między różnymi typami liczb całkowitych INT, TINYINT, SMALLINT, MEDIUMINT i BIGINT, jeśli zdefiniowano długość 1 dla każdego typu? Jeśli nie, czy powinienem ich używać w każdym razie (widzę, że używam ich dla bardziej semantycznego znaczenia, TINYINT jest bardziej konkretny niż tylko INT)? Jeśli tak, czy mogę łatwo (i/lub powinienem) po prostu przejść przez moją bazę danych i zmienić wszystkie moje pola INT (1) na TINYINT (1)?
Wierzę, że "TINYINT (1)" jest 1-bitową, a nie 1-cyfrową liczbą całkowitą. Nie wiem o "INT (1)", ale jeśli poprawnie zapisuje numery od 0 do 9, nadal go używaj :) Ale zawsze myślałem, że to też 1 bit. – Ryan
@minitech 'TINYINT' jest 1-bajtowy, nie 1-bitowy – Phil
@Phil: Oops: P Więc zmienię komentarz na:" Oboje są jednym bajtem. " – Ryan