Триггер для двух БД MySQL

145
21 января 2020, 00:20

Есть простая задача: при внесении новой строки в таблицу одной базы данных, вставлять ту же строку в таблицу другой базы.

Был написан запрос:...

delimiter //
create trigger test after insert on bd1.test1 for each row 
begin 
insert into bd2.test2 set test2.first_1 = NEW.test1.first_1;
                            set test2.second_1 = NEW.test1.second_1;
                            set test2.third_1 = NEW.test1.third_1;
end//

... но в таком случае возникает ошибка 1046(no db selected). Если перед названиями столбцов уточнить базу, в которой они находятся, то система ругается на unexpected точку.

Подскажите, как реализовать необходимый запрос?@

Answer 1
CREATE TRIGGER test 
AFTER INSERT 
ON bd1.test1 
FOR EACH ROW 
INSERT INTO bd2.test2 
    SET bd2.test2.first_1  = NEW.first_1,
        bd2.test2.second_1 = NEW.second_1,
        bd2.test2.third_1  = NEW.third_1;

И переопределять DELIMITER не требуется.

READ ALSO
Lost connection to MySQL server during query в Telegram боте

Lost connection to MySQL server during query в Telegram боте

Я написал Telegram бота и он отлично функционирует, но через несколько часов после запуска выдает ошибку:

186
dbforge смог, а mySQL и VS2005 только старается…помогите!

dbforge смог, а mySQL и VS2005 только старается…помогите!

Есть домен в компании, настроенный на работу под windowsXPАдмины пророчили невозможность работы в ней под windows 10, я уперто ее поставил все отлично...

118
Как определит RadioSelect для ModelForm в Django?

Как определит RadioSelect для ModelForm в Django?

Я создаю приложение для сбора обратной связи от пользователей на djangoВопрос заключается в том, как связать модель с html-формой, используя django...

171
position absolute и скролл родителя

position absolute и скролл родителя

Доброго всем времени суток, столкнулся с неожиданной для себя проблемой, хотелось бы понять причины такого поведения

124