2013-10-04 3 views
0

Я довольно новичок в кодировании php и mysql. У меня есть таблица измерений sql, где я помещаю данные, извлеченные из ПЛК каждые 15 минут, с полем datetime в качестве первичного ключа и измерения напряжения в качестве других полей. Ex:Вставить отсутствующую строку datetime Sql

Datetime  | v1 | v2 | v3 
131003044500 | 403 | 405 | 405 
131003050000 | 406 | 408 | 407 
131003051500 | 405 | 407 | 406 

и так далее ...

Когда у меня есть сбой ПЛК, я потерял свои измерения. я должен вставить все недостающие строки в день с правильным недостающим DateTime, поэтому остальные поля равны 0.

Ex: Отсутствует DateTime от 131003080000 131003150000 в

131003081500 | 0 | 0 | 0 
131003083000 | 0 | 0 | 0 

и т.д. ...

Это для анализа потребления и генератора графов. Извините за мой плохой английский. Спасибо заранее. С уважением.

ответ

0

Есть ли у вас значения напряжения где-то независимо от данных о споле? Если да, почему бы не объединить SELECT & INSERT запросов обычным способом для получения желаемого. Может быть, есть неудобный формат файла со значениями, и вам нужно php для его обработки? С другой стороны, если вы никогда не делали никаких резервных копий, данные, конечно же, теряются.

+0

Я должен отслеживать в своей БД для каждого неправильного чтения из ПЛК, чтобы получить все 96 показаний для графика 24 часа в сутки. У меня нет никаких независимых значений для напряжений, поля напряжения в БД равны 0 по умолчанию, чтобы распознать ошибку – Ashkrimn

+0

Найти ответ! Я создал пустой стол misure2, заполненный пропущенным кодом времени. Тогда я применять: INSERT INTO misure (datetime_val, v1, v2, v3) ВЫБРАТЬ datetime_val, v1, v2, v3 ОТ misure2 ГДЕ (datetime_val) НЕ В (ВЫБРАТЬ datetime_val ОТ misure) – Ashkrimn

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