SQL

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
PAV
Сообщения: 968
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 71 раз
Поблагодарили: 95 раз

SQL

Сообщение PAV » Ср окт 22, 2014 3:24 pm

Ничего не пойму, полез в pvalues и вижу такую картину.
Ощущение, что все создаваемые свойства не имеют своего имени в базе (property name).
Как так?
Вложения
mysql.png
mysql.png (97.17 КБ) 4090 просмотров
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: SQL

Сообщение sergejey » Ср окт 22, 2014 4:06 pm

Это поле необязательно должно быть заполненным сразу, т.к. используется только для быстрого доступа к значениям. Система сама его заполнинит по мере использования.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
PAV
Сообщения: 968
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 71 раз
Поблагодарили: 95 раз

Re: SQL

Сообщение PAV » Ср окт 22, 2014 5:04 pm

Если я SQL запрашиваю по значению sensorMovementSUM.status, например, он отдаст мне значения? Как он определит, что именно к нужному ID обращаюсь.
Это в продолжение темы http://smartliving.ru/forum/viewtopic.p ... 120#p13776
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: SQL

Сообщение sergejey » Чт окт 23, 2014 10:38 am

PAV писал(а):Если я SQL запрашиваю по значению sensorMovementSUM.status, например, он отдаст мне значения? Как он определит, что именно к нужному ID обращаюсь.
Это в продолжение темы http://smartliving.ru/forum/viewtopic.p ... 120#p13776
Нет, не отдаст. Точнее, может отдать, а может и не отдать -- в зависимости от того установлено ли полное имя переменной. Почему бы не подсмотреть как сделано в pChart?

Вот пример вытягивания данных за последние 5 часов:

Код: Выделить всё

$p='sensorMovementSUM.status'

$end_time=time();
$total=5; // 5 часов
$start_time=$end_time-$total*60*60;

if ($p!='') {
        if (preg_match('/(.+)\.(.+)/is', $p, $m)) {
                $obj=getObject($m[1]);
                $prop_id=$obj->getPropertyByName($m[2], $obj->class_id, $obj->id);
        }
}

$pvalue=SQLSelectOne("SELECT * FROM pvalues WHERE PROPERTY_ID='".$prop_id."' AND OBJECT_ID='".$obj->id."'");

$history=SQLSelect("SELECT ID, VALUE, ADDED FROM phistory WHERE VALUE_ID='".$pvalue['ID']."' AND ADDED>=('".date('Y-m-d H:i:s', $start_time)."') AND ADDED<=('".date('Y-m-d H:i:s', $end_time)."') ORDER BY ADDED"); // данные 

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
ivanov.simatic
Сообщения: 12
Зарегистрирован: Вс июн 19, 2016 4:47 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: SQL

Сообщение ivanov.simatic » Ср авг 31, 2016 6:44 pm

Добрый день. Столкнулся с проблемой похожей как у автора первого сообщения.
Т.е. если я добавляю новое свойство объекта, то оно добавляется в БД без PROPERTY_NAME, хотя раньше такого не было.
Получается что не удобно делать выборку из БД.
Подскажите кто сталкивался с подобной проблемой
Вложения
11111.jpg
11111.jpg (260.05 КБ) 3115 просмотров
2222.jpg
2222.jpg (162 КБ) 3115 просмотров
Ответить