Задавайте вопросы, мы ответим
Вы не зашли.
Сервер БД - MySQL 5.0.45
Имеем две таблицы:
tank42_din_value
tank42_din_last
на таблице tank42_din_value сделан триггер tr_Tank42_DIN_VALUE_Insert , который выполняется After Insert (после добавления).
BEGIN
update Tank42_DIN_LAST set DateAndTime=new.DateAndTime, Val=new.Val, Status=new.Status, Marker=new.Marker
where new.Status ='' and new.TagIndex=Tank42_DIN_LAST.TagIndex
and (new.Marker = '' or new.Marker = 'C')
and (new.Val<>Tank42_DIN_LAST.Val);
END
Каким-то образом обновляются значения в таблице tank42_din_last (появляется новая дата 2009-09-17 17:06:36), хотя в таблицу tank42_din_value ничего не записалось (дата последней записи - 2009-06-21 11:23:12).
Из таблицы tank42_din_last пользователи только читают данные. (Попробую запретить доступ на изменение.)
Все прекрасно работало на MSSQL 2005.
Неактивен
Вижу два штатных способа, как это могло произойти:
1. Обновить табличку last можно не только триггером.
2. В табличку value можно вставить строки со старой датой или даже просто обновить
строки в value на старую дату.
Попробуйте поискать в бинарных логах — наверняка там будет информация о том, каким
образом поменялись строки.
--
Видимо, MSSQL Вас чем-то не устроил, раз Вы мигрировали на MySQL?
Неактивен
paulus написал:
Вижу два штатных способа, как это могло произойти:
1. Обновить табличку last можно не только триггером.
В том то и дело таблицы LAST открыты пользователям только на select.
paulus написал:
2. В табличку value можно вставить строки со старой датой или даже просто обновить
строки в value на старую дату.
Таблицы Value - это исторический архив, туда только пишутся текушие на данный момент данные ничего не стирается. Последняя запись была давно (в июне).
paulus написал:
Попробуйте поискать в бинарных логах — наверняка там будет информация о том, каким
образом поменялись строки.
Только перешел на MySQL, подскажите ссылку где прчитать про просмотр бинарных логов.
paulus написал:
Видимо, MSSQL Вас чем-то не устроил, раз Вы мигрировали на MySQL?
Планируется перевод сервера на Linux, нет ограничения в бесплатной версии в 1.5 Гб.
Неактивен
Ну, другой пользователь тоже мог поменять...
mysqlbinlog mysql-bin.001 | less
ну, разумеется, надо подставить правильное название файлика с журналом.
Если только переходите — убедитесь, что система 64 бита, чтобы не упереться в ограничение
3Гб на процесс.
Неактивен