Kevin Hunter wrote:
At 9:06p -0400 on 30 Apr 2007 John Kebbel wrote:
I'm having problems understanding NULL. I grasp what a NULL value is,
A NULL value is rather an oxymoron. It'd be more accurate to say that
NULL means "absence of a value".
but I can't get NULL to perform correctly. For instance, if I do a
Select statement, I see that I have columns with a NULL value.
select first, last, suffix from persons LIMIT 5;
+-----------+----------+--------+
| first | last | suffix |
+-----------+----------+--------+
| Benjamin | Page | NULL |
| Jonathan | Watson | NULL |
| Jose | Thorson | NULL |
| Alejandro | Nickels | NULL |
| Griselda | Richards | NULL |
+-----------+----------+--------+
5 rows in set (0.01 sec)
Logically, it seems that a Select statement should find these five plus
any other NULL values in the suffix column. However, such a select
statment returns an empty set.
mysql> select first, last, suffix from persons where suffix IS NULL;
Empty set (0.00 sec)
Does anyone see what I'm doing wrong? (Thanks in advance for any help.)
Caveat emptor: I haven't tested this in about a year.
Are you perchance using a table type of MyISAM? I seem to recall that
MyISAM has a hard time actually representing NULL internally. [ ...
Thinks for a minute ... ] I remember something about spaces, like, I
think I did
INSERT ( val1, val2, NULL ) INTO myTable;
and was only able to get the tuples back when I did
SELECT * FROM myTable WHERE col3 = ' '; -- a space character
If this is the case, you might consider using a different table type,
such as InnoDB.
HTH,
Kevin
MyISAM has no problem representing NULL.
--
Gerald L. Clark
Supplier Systems Corporation
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]