IWhat exactly is the "unsigned" use for in sql and when should i consider using it?

Recommended Answers

All 2 Replies

The best I can gather from the documentation is that "signed" or "unsigned" refers to the plus or minus sign a person would traditionally use to indicate a positive or negative value. So an UNSIGNED numeric value can never be negative.

Therefore, if you have a column that you want to contain a numeric value, but never hold a negative value, I guess you could apply the UNSIGNED modifier to the data type.

http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html

the biggest difference is an unsigned number cannot be negative (just as stated above)

but the benefit of usign an unsigned number is that you can have a greater range of positive numbers.

Tinyint: The signed range is -128 to 127. The unsigned range is 0 to 255.
Mediumint: The signed range is -8388608 to 8388607. The unsigned range is 0 to 16777215.
Bigint: The signed range is -9223372036854775808 to 9223372036854775807. The unsigned range is 0 to 18446744073709551615.

you get the point from there, a great use of unsigned numbers is for any column that has an auto_increment flag on it, since it will never be negative

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.