Database – test int type
August 9th, 2010
這是一個非常有興趣測試,我嘗試設置一個field是id int(1), 另一個filed是name varchar(255)
CREATE TABLE `test` (
`id` INT( 1 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
`name` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
) ENGINE = innodb;
當我進行9次insert name的時候, 我就疑問, 第十個insert 將會發生error,
可是我繼續insert的時候, 他是沒有發生這個錯誤, 而且可以繼續增加到int 直到最大數目 – 2147483647
insert into `test` (`name`) VALUES (‘name 1’), (‘name 2’), (‘name 3’), (‘name 4’), (‘name 5’), (‘name 6’), (‘name 7’), (‘name 8’), (‘name 9’), (‘name 10’)
測試後其實int 是可以超出設定上限, 直到最大上限
覺得有趣的是設定上限後, 也能超出, 為什麼mysql不一開始就好似text, 不用預設一些上限
總是我不設int上限, 他也會幫我設定int(11)