Я работаю с WordPress и мне нужно создать триггер, который обновляет таблицу при обновлении другой. Я создал триггер, и она работала теоретически, но он только обновляет первую запись и приостанавливает ее выполнение. Переменная, используемая для хранения выбора, который возвращает, будет одним из идентификаторов, разделенных запятыми.
Eq: выборка возвращает что-то вроде: 424,532,123,212
И используйте его в обновлении, поставив "в".
UPDATE wp_posts SET e.post_modified = date (NEW.modified_date) e.ID WHERE IN (@ids);
И, как я уже сказал, он обновляет только первую запись в этом случае будет 424
Хотелось бы, чтобы кто-нибудь мне помог.
Вот триггер:
CREATE TRIGGER triggerupdatedata AFTER UPDATE ON wp_ngg_gallery
FOR EACH ROW BEGIN
set @ids := (SELECT
GROUP_CONCAT(a.ID SEPARATOR ',')
FROM
wp_posts a, wp_postmeta b, wp_ngg_gallery c
WHERE
c.gid = OLD.gid
AND
a.ID = b.post_id
AND
b.meta_key = 'galeria_id'
AND
c.gid = (SELECT d.meta_value FROM wp_postmeta d WHERE d.post_id = a.ID AND d.meta_key = 'galeria_id')
);
UPDATE wp_posts e SET e.post_modified = date(NEW.modified_date) WHERE e.ID IN (@ids);
END;//