да дело не в честно :-)
тебя никто не хочет уличить ни в чем :-)
Просто надо было вяснить, что тебе объяснять.
вот смотри:
null - это служебное слово. такое же, как select from update
если написать insert into table values (null) то вставится null означающий отсутствие значения, даже пустого.
А если insert into table values (\'null\') строка null
если ЛЮБУЮ строку заключить в кавычки, то это будет строка, а не служебное слово
select select Выдаст ошибку
select \'select\' выдаст select
так и в твоем случае.
ты вставляешь не NULL, а строку со значением NULL
с автоинкрементом у тебя получается потому, что база приводит строку "null" к числу, получается ноль, а запись ноля равнозначна записи null
а в дату когда записываешь, строка \'null\' не распознается, как дата, и записывается пустая.
Все ясно?
Еще тебе надо знать по синтаксису запросов две вещи
1. Есть еще обратные кавычки. находится слева от клавиши `1` в английской раскладке.
в них надо заключать имена полей и таблиц, если они совпадают с ключевыми словами.
ДОПУСТИМ, что у нас есть таблица from с полем select
пишем
select `select`from `from`
если мы напишем
select select
то получим оошибку
если
select \'select\'
то получим слово select вместо значения поля
понятно?
2.
http://faq.phpclub.net/slashes