как из одной таблицы вставить только измененные строки в другую таблицу
Есть две абсолютно одинаковые таблицы. Таблица №1 содержит инфу по сотрудникам(id,ФИО,год рождения,..) Таблица №2 полностью дублирует Таблицу№1
вопрос, как сделать так, чтобы при изменении любого поля в Таблице №1, например, у сотрудника изменилась фамилия, в Таблицу №2 передалась обновленная строка по этому сотруднику?
Ответы (1 шт):
Автор решения: Алексей Ковальчук
→ Ссылка
Я так понимаю, что изменения должны переноситься в другую таблицу мгновенно, тогда решение - триггер.
CREATE TRIGGER `users_update`
AFTER UPDATE ON `users1` FOR EACH ROW
UPDATE `users2`
SET `first_name` = NEW.`first_name`,
`last_name` = NEW.`last_name`
WHERE `id` = NEW.`id`
Этот триггер выполняет запрос update в таблицу users2 после запроса update на таблицу users1.
Если вы так же хотите копировать данные при insert запросах, тогда нужно создать будет еще один триггер.