SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 17.08.2010 13:21:50

lkote
Завсегдатай
Зарегистрирован: 07.07.2010
Сообщений: 25

Почему может не выполняться Update

Уважаемые мастера подскажите плиз.
есть событие.
SET GLOBAL event_scheduler = ON;

CREATE EVENT Gauging.DataCopyEvnt -- cобытие копирования данных
ON SCHEDULE EVERY 1 MINUTE
DO
BEGIN
UPDATE
    Gauging.mf_gaug_point_station_N1 -- передача данных таблицы калибровки параметра nst на станцию N1
  SET
    nst = (SELECT
      Gauging.mf_gaug_point.st
    FROM
      Gauging.mf_gaug_point
    WHERE
      Gauging.mf_gaug_point.id = Gauging.mf_gaug_point_station_N1.id AND Gauging.mf_gaug_point.st = 1
    );
UPDATE
      Gauging.mf_gaug_point
    SET
      Gauging.mf_gaug_point.st  = 0
    WHERE
      Gauging.mf_gaug_point.st = 1;
END;

Так вот второй апдейт не хочет выполняться. Но если я выполняю его отдельно то все Ок.

Отредактированно lkote (17.08.2010 13:33:35)

Неактивен

 

#2 17.08.2010 13:36:09

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Почему может не выполняться Update

А delimiter меняете при создании? Может быть, просто обрезается на половине событие?

Неактивен

 

#3 17.08.2010 13:41:08

lkote
Завсегдатай
Зарегистрирован: 07.07.2010
Сообщений: 25

Re: Почему может не выполняться Update

а че  эт delimiter и с чем его есть. Можно плиз по подробнее. Событие вообще то длинное я привел лишь часть. Но последними апдейтами мне нужно очистить поле st в таблицах исходных данных. Так вот только вот эти апдейты и не работают. Ранее я тоже встречал такое но избавлялся перестановкой апдейта в коде. А здесь мне не переставлять нельзя.

Отредактированно lkote (17.08.2010 14:06:36)

Неактивен

 

#4 17.08.2010 14:31:37

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Почему может не выполняться Update

delimiter — это разделитель. По умолчанию это точка с запятой, но раз Вы ее
используете для отделения одного UPDATE от другого, ее нужно заменять smile

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

Неактивен

 

#5 17.08.2010 15:23:49

lkote
Завсегдатай
Зарегистрирован: 07.07.2010
Сообщений: 25

Re: Почему может не выполняться Update

Ошибку нашел. Событие копирует данные из таблицы на 2 станции. Ну а в распоряжении конечно одна. Так вот после фрагмента копирования на не подключенную станцию и видимо вылетало. Сделал имитацию 2 идентичные ДБ и все заработало. А ошибок не выводит Работаю с db Forge Studio. Где и как смотреть журнал ошибок.

Неактивен

 

#6 17.08.2010 15:28:57

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Почему может не выполняться Update

Стандартный журнал ошибок MySQL. Под виндоус, наверное, в журнал событий
системы пишет.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson