2012-06-27 6 views
1

У меня есть плата сбора данных, и я генерирую php-код для извлечения данных каждые 15 минут, а затем вставляю его в таблицу.Сортировка таблицы MySQL по timestamp

Это прекрасно работает. Однако, если по какой-либо причине соединение потеряно или какое-то значение отсутствует, я хочу сгенерировать функцию восстановления, поэтому я выясню, как спросить плату для некоторых значений, но мне нужно выяснить, как публиковать восстановленные данные и затем отсортируйте весь порядок таблицы по метке времени.

Для этого я хочу использовать PHP, и я помещаю этот код

$result = mysql_query("SELECT * FROM `table` ORDER BY `date` DESC;"); 

Но это не вызывает никакого эффекта. Мне нужно отсортировать таблицу, а не результат.

Есть ли простой способ сделать это?

РЕДАКТИРОВАТЬ:

Данные извлекаются с меткой времени, теперь моя таблица имеет следующую структуру:

id | TimeStamp | Temperature 
  • мой id является INT NOT NULL AUTO_INCREMENT PRIMARY KEY
  • timestamp
  • temperature является varchar(15)

Функция php получает последнее значение панели объявлений и вставляет ее на последний идентификатор. Я просто помещаю отметку времени, чтобы сделать историю данных. Но я хочу, чтобы таблица сортировалась по этому полю, в случае восстановления. Чтобы сделать восстановление, функция вызова на плате отличается от непрерывного режима. Вот почему я использую секвенциальную вставку, и я блуждал, если после восстановления потерянных данных я мог бы отсортировать всю таблицу с помощью метки времени.

+0

Сортировка таблицы/результат сортировки? Та же разница ... и +1 для PDO – Ben

+1

Прекратите использование mysql. Идите и прочитайте о mysqli и/или PDO –

+0

@ user1378680, как это помогает в сортировке? – Wh1T3h4Ck5

ответ

0

Из моего чтения вопроса это связано с желанием, чтобы данные в таблице были вставлены в соответствии с TimeStamp, а не вставлены последовательно.

Возможно, если автор сможет уточнить, как эта потребность возникает, сообщество SO может помочь больше.

0

Я знаю, что это не ответ, который вы хотите услышать, но, к сожалению, это правда: нет такой вещи, как «порядок таблицы» - таблицы представляют собой SETS строк, а не SEQUENCES строк. Вот почему вы можете заказывать только результаты, а не сама таблица (операция будет бессмысленной).

Что вам нужно сделать, это переосмыслить свой дизайн, провести некоторое время с хорошей книгой о базах данных и избавиться от некоторых ложных предположений.

Если вы хотите, чтобы «убедиться, что первичные ключи упорядочены в соответствии с отметками времени», ну, вы не должны этого делать, есть способы, но все они безумны. Простейшим (возможно) было бы сбросить все строки в другую таблицу, используя в, а затем удалить их из исходной таблицы и вставить обратно. Во всяком случае: не пробуйте это. Вам НЕ нужна ваша таблица.

Смежные вопросы