0
У меня есть MySQL подпрограммы, которые не работают:Mysql рутина ошибка
delimiter #;
create procedure ancien()
BEGIN
declare postname CHAR;
declare ID INT;
declare count INT;
declare counter INT DEFAULT 0;
select count(*) INTO @count FROM network_2_posts;
LOOP: 'posts'
set counter = counter + 1;
IF counter <= count THEN select post_name, ID INTO @postname, @ID FROM network_2_posts;
UPDATE network_2_postmeta SET meta_value = @postname WHERE meta_key = 'wpcf-identifier' AND post_id = @ID;
END IF;
IF counter > count
THEN
LEAVE posts;
END IF;
END LOOP posts;
END#
MySQL показать ошибку на этой линии:
IF counter <= count THEN select post_name, ID INTO @postname, @ID FROM network_2_posts;
после THEN ключевого слова.
Любая идея?
Thx много
Frédéric
Что такое сообщение об ошибке? –
Ничего, добавьте символ ввода между оператором if ... then и оператором select. –
И как примечание стороны, '#;', вероятно, самый худший разделитель, который вы можете выбрать. Для комментариев используется символ '#'. Вероятно, это работает, но когда это произойдет, ваш разделитель будет '#;', а не только '#', поэтому ваш окончательный 'END' не будет прерван. – fancyPants