MySQL триггер вставки дублирующих строк - PullRequest
0 голосов
/ 26 октября 2018

Это первый раз, когда мне нужно создать триггер в MySQL. Я пытаюсь обновить небольшую таблицу журнала (4 столбца), одним из которых является URL. У меня это работает, но я не могу понять, как предотвратить вставку 2 строк при срабатывании триггера. Я не могу создать уникальный индекс в строке URL-адреса из-за максимальной длины ключа. Есть предложения по другим средствам? Я попытался вставить с помощью операторов выбора и с помощью ON DUPLICATE KEY безуспешно.

CREATE DEFINER=`dbuser`@`%` TRIGGER `upd_url_prod` AFTER UPDATE ON  `products` 
FOR EACH ROW BEGIN
INSERT INTO my_changes (ext_id,url,changetime)
VALUES (NEW.external_id,NEW.detail_url,NOW());

END

1 Ответ

0 голосов
/ 26 октября 2018

Я думаю, вам нужно проверить ваш запрос на обновление при срабатывании триггера. Возможно, этот запрос запускается два раза, а триггер срабатывает. проверьте ваш скрипт, где выполняется запрос на обновление, и зарегистрируйте этот запрос.

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