22.11.2018 08:11
DMaslov
 
Подскажите, кто сталкивался.
Если руками в SqlYog меняю запись, работает.
Если пытаюсь изменить запросом - 0 rows affected.
Как правильно написать запрос?
Миниатюры
Нажмите на изображение для увеличения
Название: signal.png
Просмотров: 56
Размер:	16.0 Кб
ID:	9761  
22.11.2018 09:02
konst
 
Добавлял запись следующим запросом:

Код:
INSERT INTO `signal` (`signal`, version)  VALUES ("incr", "1");
22.11.2018 09:09
Dim
 
insert into signal (signal.signal,version) values('incr',1)

я из 1С так пихаю
22.11.2018 11:53
DMaslov
 
Да, insert работает.
Странно, что update не работает.
Может, из-за того, что SIGNAL - зарезервированное слово MySQL. Но в кавычках же указано.
Ладно, работает insert.
22.11.2018 11:58
Mtirt
 
Вам нечего обновлять.
Если signal=busy - то обновлять нельзя, так как идет импорт.
А как только импорт заканчивается - запись удаляется.
Это раз.

Указание version - обязательно.
Без него импорт не пойдет.
И я подозреваю, что в таблицах с данными должно быть тоже самое значение version, что и в signal.
Подтвердить не могу - пользовалась конвертером для разовых загрузок данных.
Это два.
22.11.2018 12:09
DMaslov
 
Цитата:
Mtirt А как только импорт заканчивается - запись удаляется.
Точно. Понял свою ошибку.

Когда в SQLyog делаешь Open table, он ее открывает с одной строкой, которая помечена как новая - "*". А я думал, одна строка там всегда есть.
22.11.2018 14:03
vdm
 
Цитата:
Mtirt в таблицах с данными должно быть тоже самое значение version, что и в signal
Да.

А если есть busy, можно повысить version и выкладывать новые данные.

Вообще, по уму, для надежной выгрузки в базу конвертера, нужно заморачиваться с контролем существующих непринятых version, с удалением данных загрузка которых которые могла быть прервана нештатно и т.п.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.