TINYINT[n] [UNSIGNED] [ZEROFILL] : -128 ~ 127 (UNSIGNED then 0 ~ 255) SMALLINT[n] [UNSIGNED] [ZEROFILL] : -32768 ~ 32767 (UNSIGNED then 0 ~ 65535) MEDIUMINT[n] [UNSIGNED] [ZEROFILL] : -8388608 ~ 8388607 (UNSIGNED then 0 ~ 16777215) INT[n] [UNSIGNED] [ZEROFILL] : -2147483648 ~ 2147483647 (UNSIGNED then 0 ~ 4294967295) : All operations are done with "signed BIGINT". so, if you are outside the range of "signed BIGINT", such as addition multiplication, the value will be wrong. INTEGER[n] [UNSIGNED] [ZEROFILL] : -2147483648 ~ 2147483647 (UNSIGNED then 0 ~ 4294967295) BIGINT[n] [UNSIGNED] [ZEROFILL] : -9223372036854775808 ~ 9223372036854775807 (UNSIGNED then 0 ~ 18446744073709551615) FLOAT[n,d] [ZEROFILL] : -3.402823466E+38 ~ -1.175494351E-38, 0 and : 1.175494351E-38 ~ 3.402823466E+38 : You can not set unsigned. DOUBLE[n,d] [ZEROFILL] : -1.7976931348623157E+308 ~ -2.2250738585072014E-308, 0 and : 2.2250738585072014E-308 ~ 1.7976931348623157E+308 ...