Задать вопрос
@XZeit

Как сделать запрос на Replace внутри триггера Replace?

Как сделать запрос на Replace внутри триггера Replace?
Имеется таблица RASPR со столбцами id_load (int, PRIMARY), week (int, Primary), value (int)
Для изменения / добавления записей использую Replace, чтобы не было дубликатов по полям id_load, week.

Есть таблица LOAD с полями id_load, .... , link. Разные записи в этой таблице связываются между собой одинаковыми значениями link.

Суть вопроса. При запросе Replace к таблице RASPR
REPLACE INTO raspr SET id_load = 23575, week = 2, value = 11


мне необходимо также произвести запрос REPLACE к этой же таблице но к тем записям, где id_load связаны с изменяющейся (в примере выше 23575)

Примерно такое хочу получить , но конечно это не работает, так как триггер зациклится.

CREATE DEFINER=`root`@`localhost` TRIGGER `ReplaceLinkValues` 
BEFORE INSERT ON raspr
FOR EACH ROW 
BEGIN
	REPLACE raspr (id_load, value, week) VALUES 
       ((SELECT id_load FROM load WHERE link = (SELECT link FROM load WHERE id_load = OLD.id_load), NEW.value, NEW.week)
END
  • Вопрос задан
  • 115 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
ЕМНИП, в триггере нельзя изменять таблицу, на которую повешен триггер.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы