Помогите переделать запрос к MySQL

AleksejVL

Новичок
Помогите переделать запрос к MySQL

Запрос в оригинальном скрипте:
SELECT id, description, price, unit FROM items WHERE state='Y' AND ((reserved IS NULL) OR (reserved + INTERVAL 2 MINUTE < NOW())) ORDER BY description;

Всегда выдает пустой результат.... :-(

Если убрать: AND ((reserved IS NULL) OR (reserved + INTERVAL 2 MINUTE < NOW()))

SELECT id, description, price, unit FROM items WHERE state='Y' ORDER BY description;
работает правильно.

Версия MySQL 4.0.15-log на db0.valuehost.ru

В поле reserved содержатся нормальные значения.
Например: 2006-04-03 00:15:26 или 0000-00-00 00:00:00



Подскажите как сформировать запрос чтобы проверка поля reserved всетаки осуществлялась.
 

AleksejVL

Новичок
Да, там все правильно.
Например: 2006-04-03 00:15:26 или 0000-00-00 00:00:00
 

svetasmirnova

маленький монстрик
На тестовых данных всё работает (у меня под рукой 4.0.18):

mysql> create table t1(t datetime);
Query OK, 0 rows affected (0.23 sec)

mysql> insert into t1 values ('2006-04-03 00:15:26');
Query OK, 1 row affected (0.09 sec)

mysql> insert into t1 values (null);
Query OK, 1 row affected (0.00 sec)

mysql> select * from t1 where (t is null or(t + INTERVAL 2 MINUTE > NOW()));
+------+
| t |
+------+
| NULL |
+------+
1 row in set (0.00 sec)

mysql> select * from t1 where (t is null or(t + INTERVAL 2 MINUTE < NOW()));
+---------------------+
| t |
+---------------------+
| 2006-04-03 00:15:26 |
| NULL |
+---------------------+
2 rows in set (0.00 sec)

Так что боюсь проблема не в этом запросе.
 

AleksejVL

Новичок
Именно в нём и проблема...
на другом хостинге с другой версией MySQL у меня тоже все нормально работает..., но к сожалению нужно сделать именно на этом хостинге :-(

-~{}~ 03.04.06 01:44:

Вопрос снят.
Как оказалось вместо 0000-00-00 00:00:00 должно было NULL по умолчанию проставляться при добавлении новых элементов.

Спасибо что помогли.
 
Сверху