我假設INT(1)與TINYINT(1)完全相同,但我真的不知道。每當我的值只能是一個整數(例如值爲0-9)時,我總是用INT(1)來表示它是一個整數,它只會是一個字符,我認爲這意味着它只能是0到9的值(如果我錯了,請給我解釋一下)。我一直忽略了其他類型的INT,你可以將這個數字轉換爲數字。我不懂MySQL,並且傾向於避免你可以用它做更復雜的事情。在MySQL中使用INT(1)與TINYINT(1)是否有區別?
所以我的問題是,如果你爲每種類型定義長度爲1,各種整數類型INT,TINYINT,SMALLINT,MEDIUMINT和BIGINT之間是否有區別;?如果不是,我是否應該使用它們(我可以看到它們用於更多的語義含義,TINYINT比INT更具體)?如果是這樣,我可以輕鬆地(和/或我應該)通過我的數據庫並將所有INT(1)字段更改爲TINYINT(1)字段?
我相信'TINYINT(1)'是一個1位而不是1位的整數。我不知道'INT(1)',但是如果它正確存儲數字0到9,繼續使用它:)但我一直認爲它也是1位。 – Ryan
@minitech'TINYINT'是1個字節,不是1位 – Phil
@Phil:Oops:P所以我把我的評論改爲:「他們都是1個字節。」 – Ryan