Получается что задавая
'status' => null
ты это поле все равно что не указываешь. Для insert-а пойдет, а вот update - нет.
Почему: думаешь в таблицу NULL записать, но ведь и в php имеется свой null.
Зацени вот так:
<?php
$record = array('id' => 66, 'status' => 'NULL');
?>
- запишет ноль, так как заполнитель будет %d.
так а для NULL и в стандартном db_query нет заполнителя. В Вандюке про NULL, TRUE, FALSE специально о том что заменяется на 0 или 1 сказано.
Единственно что можно - сначала удалить, а потом без указания вставить если конечно в схеме - 'default' => NULL.
Кстати тут, "под шумок", спрошу: почему в Database API нет функции типа db_num_rows чтобы получить кол-во строк результата. Хотя в самом ядре используются функции mysql_num_rows, pg_num_rows ...
Чем обычно заменяется такая функция друпалерами? Или в обход API использовать?
В общем если в settings.php такую функцию самому написать, то думаю большой беды не случится. Этот же файл при обновлениях не трогается? А кому надо поймет - зачем она.
Комментарии
Получается что задавая
'status' => null
ты это поле все равно что не указываешь. Для insert-а пойдет, а вот update - нет.
Почему: думаешь в таблицу NULL записать, но ведь и в php имеется свой null.
Зацени вот так:
<?php
$record = array('id' => 66, 'status' => 'NULL');
?>
- запишет ноль, так как заполнитель будет %d.
это понятно, но мне нужен null!
так а для NULL и в стандартном db_query нет заполнителя. В Вандюке про NULL, TRUE, FALSE специально о том что заменяется на 0 или 1 сказано.
Единственно что можно - сначала удалить, а потом без указания вставить если конечно в схеме - 'default' => NULL.
значит таки не возможно, придётся дёргать sql
да, точно, можно же и так.
Кстати тут, "под шумок", спрошу: почему в Database API нет функции типа db_num_rows чтобы получить кол-во строк результата. Хотя в самом ядре используются функции mysql_num_rows, pg_num_rows ...
Чем обычно заменяется такая функция друпалерами? Или в обход API использовать?
я тоже недавно задавался этим вопросом) вот что пишут на d.org
В общем если в settings.php такую функцию самому написать, то думаю большой беды не случится. Этот же файл при обновлениях не трогается? А кому надо поймет - зачем она.