Использование триггера для обновления таблицы в другой базе данных

Я использую следующий триггер для обновления таблицы пользователей в другой базе данных в mysql 5.0.7 Создание триггера не вызывает ошибки, но после обновления пользовательской таблицы в первой базе данных триггер не работает. Есть предложения?

DELIMITER $$         
DROP TRIGGER IF EXISTS after_update_user;

CREATE TRIGGER after_update_user;

AFTER UPDATE ON db_test.user  FOR EACH ROW;
BEGIN
    UPDATE TABLE db_testplus.user;
    SET  name = NEW.name;

    WHERE id = NEW.id;
END

$$
DELIMITER ;

Я также использовал этот код без точек с запятой, но все тот же

DELIMITER $$         
DROP TRIGGER IF EXISTS after_update_user

CREATE TRIGGER after_update_user

AFTER UPDATE ON db_test.user  FOR EACH ROW
BEGIN
    UPDATE TABLE db_testplus.user
    SET  name = NEW.name

    WHERE id = NEW.id
END;

$$
DELIMITER ;

Наконец, код, который работал

delimiter |
DROP TRIGGER IF EXISTS after_update_user|
 CREATE TRIGGER after_update_user AFTER UPDATE ON db_test.user
  FOR EACH ROW BEGIN
     UPDATE db_testplus.user SET name = NEW.name WHERE id = NEW.id;
  END;
|
delimiter ;
5
задан Abhishek 19 January 2012 в 05:39
поделиться

1 ответ

Это работает на меня в MySQL 5.1.73:

CREATE TRIGGER `after_update`
AFTER UPDATE ON `test_table`
FOR EACH ROW UPDATE another_db.updated_table
SET  some_name = NEW.some_name
WHERE id = NEW.id
0
ответ дан 14 December 2019 в 23:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: