Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Приет мастерам
Уважаемые мастера помогите плиз
У меня естть табл находящаяся на сервере сбора данных.
CREATE TABLE TabN1(
ID TEXT DEFAULT NULL,
CURVAL INT (10) DEFAULT NULL,
NETVAL INT (10) DEFAULT NULL
)
ENGINE = MYISAM;
и есть 2 федеративные таблицы
CREATE TABLE TabN2(
ID TEXT DEFAULT NULL,
CURVAL INT (10) DEFAULT NULL,
NETVAL INT (10) DEFAULT NULL
)
CREATE TABLE TabN3(
ID TEXT DEFAULT NULL,
CURVAL INT (10) DEFAULT NULL,
NETVAL INT (10) DEFAULT NULL
)
Событие на сервере должно отслеживать ситуацию как толко на сервере в поле NETVAL<>CURVAL для какого нибудь ID надо проапдейтить поле NETVAL федеративных таблиц с таким же ID, а на самом сервере для такой строки проапдейтить поле CURVAL==NETVAL. Я пытаюсь это сделать при помощи
оператора UPDATE но во всех примерах фиксированный синтаксис Update Table Set Fiel=4;
Отредактированно lkote (03.08.2010 11:23:29)
Неактивен
Честно говоря, не понял в чем проблема. Пишете триггер BEFORE INSERT, который
будет делать UPDATE в удаленную табличку со значением WHERE ID = NEW.ID,
а текущую таблицу обновляете простым SET NEW.CURVAL = NEW.NETVAL.
Неактивен
Я представляю как скоприровать первоначальную таблицу в темповую и выполнить как вы говрите UPDATE NEW SET NEW.CURVAL = NEW.NETVAL.
потом сделать DELETE FROM TableSource; потом выполнить INSERT INTO TableSource (columns) SELECT columns FROM NEW;
но не пойму как потом обновить поле в фед таблиц. Дайте плиз конструкцию для примера посидим покумекаем.
Неактивен
Эээ... зачем временные таблицы?
UPDATE TabN2 SET CURVAL = NEW.CURVAL, NETVAL = NEW.NETVAL WHERE ID = NEW.ID;
Неактивен
Не работает такое решение говорит неизветсное NEW.ID
Неактивен
В триггере?
Неактивен
Страниц: 1