Quantcast
Channel: Topic Tag: MySQL | WordPress.org
Viewing all articles
Browse latest Browse all 5540

houssamk on "duplicate posts and copies the postmeta from post to another"

$
0
0

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.


Viewing all articles
Browse latest Browse all 5540

Trending Articles