What does `unsigned` in MySQL mean and when to use it?
MysqlTypesMysql Problem Overview
What does "unsigned" mean in MySQL and when should I use it?
Mysql Solutions
Solution 1 - Mysql
MySQL says:
> All integer types can have an optional > (nonstandard) attribute UNSIGNED. > 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 from > -2147483648 and 2147483647 up to 0 and 4294967295.
When do I use it ?
Ask yourself this question: Will this field ever contain a negative value?
If the answer is no, then you want an UNSIGNED
data type.
A common mistake is to use a primary key that is an auto-increment INT
starting at zero, yet the type is SIGNED
, in that case you’ll never touch any of the negative numbers and you are reducing the range of possible id's to half.