mysql中的int(1)是一種數(shù)值類(lèi)型,表示整數(shù)。其中的“1”指的是數(shù)值類(lèi)型的顯示寬度,也就是該字段最多可以存儲(chǔ)幾位數(shù)字。
然而,與我們通常的理解不同,int(1)在mysql中并不限定數(shù)字范圍,而是可以存儲(chǔ)從-2147483648到2147483647的整數(shù)。
那么int(1)的顯示寬度有什么作用呢?其實(shí),int(1)的作用主要是為了方便在表格中使用。它的顯示寬度為1,表示在盡可能小的空間內(nèi)存儲(chǔ)數(shù)字。我們可以將它用在布爾值(0或1)存儲(chǔ)、某些計(jì)數(shù)器等場(chǎng)景中,能夠在數(shù)據(jù)存儲(chǔ)和表格排版上帶來(lái)一定的便利。
CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `flag` int(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
INSERT INTO `test` (`flag`) VALUES (1),(0),(1),(0);
當(dāng)然,如果我們需要存儲(chǔ)更大范圍的整數(shù),可以選擇其他的數(shù)值類(lèi)型,如bigint、mediumint等。在選擇數(shù)值類(lèi)型時(shí),我們需要根據(jù)具體的業(yè)務(wù)需求、數(shù)據(jù)范圍等因素進(jìn)行綜合考慮。