I am trying to make my site bilingual, so I need to duplicate posts and copies the postmeta from post to another. For this reason, i logged all query inserted to postmeta using trigger, and i try to execute it using this stored procedure but i have this error:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(s,concat(',',_ID,','),concat(',',_NEWID,',')) PREPARE stmt1 FROM s; EXECU' at line 16
DELIMITER \\
DROP PROCEDURE IF EXISTS <code>sp_postmeta_dynamic_sql</code>\\
CREATE PROCEDURE <code>sp_postmeta_dynamic_sql</code> (_ID int, _NEWID int)
BEGIN
DECLARE s varchar(1024);
DECLARE done INT DEFAULT FALSE;
DECLARE cur1 CURSOR FOR SELECT fwd_sql FROM logtable
WHERE fwd_sql LIKE CONCAT('%,',_ID,',%')
and modtable LIKE 'wp_postmeta';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur1;
read_loop: LOOP
FETCH cur1 INTO s;
IF done THEN
LEAVE read_loop;
END IF;
REPLACE(s,concat(',',_ID,','),concat(',',_NEWID,','))
PREPARE stmt1 FROM s;
EXECUTE stmt1 ;
DEALLOCATE PREPARE stmt1;
END LOOP;
CLOSE cur1;
END\\
DELIMITER ;
can you help me in this problem, Is there another way to resolve this issue? thanks in advance.