Возможно ли при вставке триггера переместить строку в другую таблицу, если условие? - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь переместить строку при вставке одного условия.

С помощью «перед вставкой триггера» я могу скопировать файл в другую таблицу, но не могу удалить исходную. Если я сгенерирую исключение, он откатит вставку во второй таблице.

Это база данных MariaDB, и у меня нет доступа к коду, поэтому мне нужно отредактировать ее в базе данных. Я проверял до или после вставки триггера

CREATE TRIGGER `DisableByAccuracy` AFTER INSERT ON `tc_positions` FOR EACH ROW
IF NEW.accuracy >= 500 THEN
        BEGIN
            SET NEW.valid = 0;
            INSERT INTO tc_positions_invalid (id, valid, latitude, longitude, accuracy) VALUES (NEW.id, NEW.valid, NEW.latitude, NEW.longitude, NEW.accuracy);
            DELETE FROM tc_positions WHERE tc_positions.id = NEW.id;
        END;
END IF

Я ожидаю переместить строку в недопустимую таблицу, если она пытается написать строку с точностью до 500.

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