Не работает выборка по времени - MySQL
Формулировка задачи:
Не понимаю, мистика какая то.
вот так создаю таблицу:
В таблицу каждую секунду поступает несколько записей.
Использую вот такой запрос
Но получаю все записи отобраные по symbol. по времени выборки не происходит!! Почему так. Впрочем использовал уже несколько вариантов указать ограницения по времяни - не получается!
В чем дело! как исправить?
CREATE TABLE IF NOT EXISTS `quotation_table` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT, `bidData` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `symbol` VARCHAR(15) COLLATE utf8_unicode_ci NOT NULL, `bid` DOUBLE NOT NULL, `ask` DOUBLE NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
SELECT * FROM `quotation_table` WHERE symbol = :symbol && `bidData` > DATE_ADD( NOW(), INTERVAL -1 HOUR )
Решение задачи: «Не работает выборка по времени»
textual
Листинг программы
$statement = $link->prepare("SELECT * from `quotation_table` where symbol = :symbol AND `bidData` > DATE_ADD( NOW(), INTERVAL -2 MINUTE )"); $statement->execute(array(':symbol' => $symbol)); $row = $statement->fetchAll();
Объяснение кода листинга программы
- Создается объект $statement, который представляет собой подготовленное SQL-выражение.
- Переменная $symbol содержит значение, которое будет использоваться в запросе.
- Выполняется запрос с помощью метода execute().
- Результатом запроса является массив $row, который содержит все строки, удовлетворяющие условию запроса.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д