Не работает выборка по времени - MySQL

Узнай цену своей работы

Формулировка задачи:

Не понимаю, мистика какая то. вот так создаю таблицу:
Листинг программы
  1. CREATE TABLE IF NOT EXISTS `quotation_table` (
  2. `id` BIGINT(20) NOT NULL AUTO_INCREMENT,
  3. `bidData` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  4. `symbol` VARCHAR(15) COLLATE utf8_unicode_ci NOT NULL,
  5. `bid` DOUBLE NOT NULL,
  6. `ask` DOUBLE NOT NULL,
  7. PRIMARY KEY (`id`)
  8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
В таблицу каждую секунду поступает несколько записей. Использую вот такой запрос
Листинг программы
  1. SELECT * FROM `quotation_table` WHERE symbol = :symbol && `bidData` > DATE_ADD( NOW(), INTERVAL -1 HOUR )
Но получаю все записи отобраные по symbol. по времени выборки не происходит!! Почему так. Впрочем использовал уже несколько вариантов указать ограницения по времяни - не получается! В чем дело! как исправить?

Решение задачи: «Не работает выборка по времени»

textual
Листинг программы
  1. $statement = $link->prepare("SELECT * from `quotation_table` where symbol = :symbol AND `bidData` > DATE_ADD( NOW(), INTERVAL -2 MINUTE )");
  2.     $statement->execute(array(':symbol' => $symbol));
  3.     $row = $statement->fetchAll();

Объяснение кода листинга программы

  1. Создается объект $statement, который представляет собой подготовленное SQL-выражение.
  2. Переменная $symbol содержит значение, которое будет использоваться в запросе.
  3. Выполняется запрос с помощью метода execute().
  4. Результатом запроса является массив $row, который содержит все строки, удовлетворяющие условию запроса.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут