по многим причинам мне нужно иметь одинаковые данные в двух таблицах. Я начинаю новую систему, и на короткий период мне нужно, чтобы обе системы работали, проблема в старой системе имеет не очень хорошую структуру MySQL, поэтому она не может ее сохранить. Я не хочу менять старую или новую конфигурацию системы. Я думал, что лучшим решением будет поставить некоторые триггеры старого и нового стола что-то вроде этого:Триггеры MYSQL для хранения одинаковых данных в двух таблицах
DROP TRIGGER IF EXISTS table1_table2;
DELIMITER $$
CREATE TRIGGER `table1_table2` AFTER INSERT ON `table1`
FOR EACH ROW
BEGIN
IF(@disable_triggers != 1) THEN
SET @disable_triggers = 1;
INSERT INTO table2 (value1,value2)
VALUES(NEW.value1, NEW.value2);
END IF;
SET @disable_triggers = 0;
END$$
DELIMITER ;
DROP TRIGGER IF EXISTS table2_table1;
DELIMITER $$
CREATE TRIGGER `table2_table1` AFTER INSERT ON `table2`
FOR EACH ROW
BEGIN
IF(@disable_triggers != 1) THEN
SET @disable_triggers = 1;
INSERT INTO table1 (value1,value2)
VALUES(NEW.value1, NEW.value2);
END IF;
SET @disable_triggers = 0;
END$$
DELIMITER ;
при первой попытке я создать триггеры без IF условий и не удалось, потому что table1 заблокирован так второй триггер не может писать Это. Я решил добавить глобальную переменную @disable_triggers, чтобы предотвратить запуск триггеров в циклах, но после вставки ничего не произошло, какие-либо предложения?
Почему вам нужны две таблицы? Бросьте один и замените его на вид – e4c5
спасибо, я надеюсь, что все будет хорошо работать – jesus6402