An unsigned type can be used to permit only nonnegative numbers in a column or when you need a larger upper numeric range for the column. For example, if an INT column is UNSIGNED , the size of the column's range is the same but its endpoints shift up, from -2147483648 and 2147483647 to 0 and 4294967295 .id INT(10) UNSIGNED NOT NULL AUTO_INCREMENTid BIGINT unsigned auto_increment NOT NULL, to prevent negative values from being inserted.