Chris wrote:
Erick Papadakis wrote:
So how should I make a database rule in MySQL to not allow blank
strings. Basically to REQUIRE a value for that column, whether it is
NULL or NADA or VOID or whatever you wish to call it. I just want to
make sure that something, some value, is entered for a column. Would
appreciate any thoughts or pointers.
Does PostgreSQL suffer from this oddity as well? This distinction
between an empty string and a NULL? Could you also please give me an
example of where this would be useful from a business logic
standpoint? Why should a NULL be different from an empty string,
what's the big mysterious difference?
It's not an oddity.
An empty string is a KNOWN value. You know exactly what that value is -
it's an empty string.
A NULL is UNKNOWN - it doesn't have a value at all.
I do still think it is a bit of an oddity, the concept of the null
column. From my experience, it creates more problems than it actually
solves and generally forces you to code more rather than less in order
to achieve your goals.
But as it is a fundamental, defined part of the sql standard, one just
has to live with it.
Tim