Umm... 'NULL' is not null, as an empty, 'NULL' should be the string 'NULL'.
If the value is shown as empty (or truly null), then I'm a bit puzzled as to why.
EDIT: Just tried it. This:
INSERT INTO `test`
( DATA )
VALUES (
NULL
)
Returned this:
#1048 - Column 'data' cannot be null
(I had set the column to not accept 'null' values) This, however:
INSERT INTO `test`
( DATA )
VALUES (
'NULL'
)
Inserted a row with the string 'NULL' as the value.